blockterm

# your AI goes blind the moment you type ssh

blockterm keeps it watching. It runs your real shell inside a terminal it controls, so its agent can read a remote shell or a vim buffer and type into it — one approved keystroke at a time. Early days: the terminal works today; blocks and the agent are being built in the open.

A preview of the agent, which is not in the build yet. See what works today under Status.

What it is being built to do

Commands as blocks
Each command and its output is one block with ✔ or ✘, the exit code and how long it took. Copy it, rerun it, or ask why it failed.
An agent that sees the whole screen
blockterm owns the terminal, so the agent can read a remote shell or a vim buffer and type into it. Every keystroke it wants to send waits for your approval.
Your model, your key
Pick @ai-sdk/anthropic, @ai-sdk/openai or @ai-sdk/openai-compatible (Ollama, LM Studio) and type the model name. Keys stay in your environment variables.

Install

  1. Install Node.js 24 or newer

    Windows
    winget install OpenJS.NodeJS.LTS
    macOS
    brew install fnm eval "$(fnm env)" && fnm install 24 && fnm use 24
    Linux
    curl -fsSL https://fnm.vercel.app/install | bash export PATH="$HOME/.local/share/fnm:$PATH" eval "$(fnm env)" && fnm install 24 && fnm use 24
  2. Build blockterm from source

    git clone https://github.com/PydevAzmi/Blockterm.git cd Blockterm npm install && npm run build && npm link

    On Linux, building needs python3, make and g++. npm i -g blockterm arrives with the first release.

  3. Run it

    blockterm

Set up the agent

Coming with the agent releases. This is the planned setup, so details may still change. Today's build doesn't have these commands yet.

  1. Pick your model

    blockterm setup
    Provider package
    @ai-sdk/anthropic or @ai-sdk/openai, @ai-sdk/openai-compatible
    Model id
    claude-haiku-5-5 any id your provider accepts
    Key variable
    ANTHROPIC_API_KEY
    Base URL
    only for openai-compatible, such as http://localhost:11434/v1 for Ollama

    Your answers are saved to config.json in your config folder. The key itself is never written down.

  2. Put your key in an environment variable

    Windows
    setx ANTHROPIC_API_KEY "sk-ant-…"
    macOS, Linux
    echo 'export ANTHROPIC_API_KEY="sk-ant-…"' >> ~/.zshrc

    Open a new terminal afterwards. Local servers like Ollama or LM Studio need no key.

  3. Check everything works

    blockterm doctor

    It checks your shell, config and key, then makes one tiny call to confirm the model can use tools — the agent needs that.

  4. Ask

    ctrl+k
    Open the agent anywhere, even inside ssh or vim, and ask in plain words.
    y e n a
    Approve, edit, or deny each keystroke it wants to send, or allow the rest of this task.
    # find big files
    At an empty prompt, get one suggested command placed in your prompt to edit.

Status

Works today

  • ✔Your shell inside blockterm's frame on Windows, macOS and Linux
  • ✔vim, less, ssh and other full-screen programs
  • ✔Mouse, paste, resizing, emoji and CJK text

In progress

  • ○Blocks for each command
  • ○The agent panel, with approval for every keystroke
  • ○# suggestions and Explain error
  • ○blockterm setup and blockterm doctor