# 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.
Already up to date.
ubuntu@prod-box:~$ sudo systemctl start nginx Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" for details. ubuntu@prod-box:~$
youwhy won't nginx start?
read the screen of ssh prod-box
agentThe start failed on the server. I'll check the unit status.
Type into ssh prod-box
"sudo systemctl status nginx" ⏎ Enter
- y approve
- e edit
- n deny
- a allow for this task
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/openaior@ai-sdk/openai-compatible(Ollama, LM Studio) and type the model name. Keys stay in your environment variables.
Install
-
Install Node.js 24 or newer
WindowsmacOSwinget install OpenJS.NodeJS.LTSLinuxbrew install fnm eval "$(fnm env)" && fnm install 24 && fnm use 24curl -fsSL https://fnm.vercel.app/install | bash export PATH="$HOME/.local/share/fnm:$PATH" eval "$(fnm env)" && fnm install 24 && fnm use 24 -
Build blockterm from source
git clone https://github.com/PydevAzmi/Blockterm.git cd Blockterm npm install && npm run build && npm linkOn Linux, building needs
python3,makeandg++.npm i -g blocktermarrives with the first release. -
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.
-
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.jsonin your config folder. The key itself is never written down. -
Put your key in an environment variable
WindowsmacOS, Linuxsetx ANTHROPIC_API_KEY "sk-ant-…"echo 'export ANTHROPIC_API_KEY="sk-ant-…"' >> ~/.zshrcOpen a new terminal afterwards. Local servers like Ollama or LM Studio need no key.
-
Check everything works
blockterm doctorIt checks your shell, config and key, then makes one tiny call to confirm the model can use tools — the agent needs that.
-
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 setupandblockterm doctor