Skip to content

Other agents

If your agent isn’t on the supported harness list, you can still wire PlanBridge in yourself. Any agent that can run a shell command and parse JSON works. Cursor, Aider, opencode, Gemini CLI, Aether, and most other tool-using agents fit this shape.

The setup is one instruction in your agent’s system prompt or rules file: pipe the proposed plan to contextbridge plan, then act on the JSON response on stdout.

Add something like this to your prompt, system instructions, or rules file (.cursorrules, AGENTS.md, project README, wherever your agent picks up persistent guidance):

Before you start coding, write your plan to stdin of contextbridge plan and read the JSON returned on stdout. If status is changes_requested, address every comment in the threads array and run again. Continue until you get status: "approved", or stop if the command exits with code 130 (the user cancelled).

The agent runs something like:

agent shell
echo "$plan" | contextbridge plan

Your browser opens to the review UI. You annotate or approve. The structured submission lands on stdout for the agent to parse.

The agent receives JSON on stdout in this shape:

{
"status": "approved" | "changes_requested",
"threads": [
{
"anchor": { /* what the comment is attached to */ },
"messages": [{ "body": "...", "author": "human" | "agent" }]
}
]
}

Most agents read this without help. If yours gets stuck, paste the snippet above into its context.

CodeMeaning
0Submission written to stdout
1Input or runtime error (see stderr)
130Interrupted (Ctrl-C) before the user submitted

Agents should treat 130 as “the user wants out” and stop the loop.

For the full flag and subcommand surface, point your agent at the CLI reference.