Control Claude with Claude

The meta use case. An AI agent uses Agent Vision to control another AI agent's terminal. One Claude Code instance reads the screen of another, types commands, approves prompts, and reviews output. This isn't theoretical — we literally built this website using this exact setup. An outer Claude controlled an inner Claude through Agent Vision, watching it code, giving feedback, and iterating on the design.

Without Agent Vision

AI agents are isolated. Each one runs in its own terminal, its own context window, its own world. If you want one agent to check another agent's work, you copy-paste output between them manually. Orchestrating multiple AI agents means you are the bottleneck — reading one agent's output, deciding what to tell the next one, shuttling context back and forth.

With Agent Vision

One AI agent screenshots the other's terminal, reads its output, and decides what to do next. It can type commands into the inner agent's session, approve or reject its suggestions, and verify the results visually. The outer agent becomes a supervisor with full visual access to the inner agent's work. No copy-paste, no manual context shuttling.

Commands

How it works

Start a session targeting another terminal window

terminal
$ agent-vision start --region 0,0,1440,900 --name inner-claude

Lock onto the terminal window where the other Claude Code instance is running.

Capture the inner agent's current output

terminal
$ agent-vision capture --session $INNER_SID

Screenshot what the other agent is showing. The outer agent can now read and analyze it.

Read the inner agent's terminal text

terminal
$ agent-vision elements --session $INNER_SID

Discover text elements, buttons, and prompts in the inner agent's interface.

Type a command into the inner agent

terminal
$ agent-vision type --element el-input-001 --text "fix the header spacing" --session $INNER_SID

Send instructions to the inner Claude Code instance by typing into its prompt.

Approve a prompt or suggestion

terminal
$ agent-vision click --element el-btn-approve --session $INNER_SID

Click approve/accept buttons on the inner agent's permission prompts.

Re-capture to verify the result

terminal
$ agent-vision capture --session $INNER_SID

Check what the inner agent produced. Loop until the result meets your criteria.

Real scenario

Example: Outer Claude reviews inner Claude's code changes

workflow
01
Outer agent captures the inner Claude's terminal and reads its latest code diff
02
Outer agent analyzes the diff for quality issues and missing edge cases
03
Outer agent types feedback into the inner Claude's prompt: "the error handler is missing a null check"
04
Inner Claude processes the feedback and proposes a fix
05
Outer agent re-captures, reviews the updated diff, and approves the change
06
Outer agent types "commit this" into the inner Claude's prompt

Try it now

$ brew tap rvanbaalen/agent-vision
$ brew install agent-vision

Requires macOS 13+ · No dependencies · ~4MB

← Back to agentvision.robinvanbaalen.nl