Open Plan Annotator plugin
Plugin that intercepts the agent plan and opens it in a browser: strike, replace, insert or comment, then send the feedback back.
- 100 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The plugin attaches a hook to leaving plan mode and starts a local HTTP server.
- Annotations are sent to the agent as a structured reply.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/open-plan-annotatorDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The plugin attaches a hook to leaving plan mode and starts a local HTTP server.
- Annotations are sent to the agent as a structured reply.
This is third-party code. Review the repository files before installing.
What it does
When Claude Code, OpenCode or pi finishes a plan, the plugin starts a temporary local HTTP server and opens a React interface in the browser. Select text and strike, replace, insert or comment on it, then approve the plan or request changes. The feedback goes to the agent in a structured form, it revises the plan and the cycle repeats until the result is acceptable. In Claude Code the plugin adds an `ExitPlanMode` hook, a `/annotate-plan [task description]` command and the `open-plan-annotator` runtime command. In OpenCode and pi the agent calls the `annotate_plan` tool. For other agents there is a CLI: `open-plan-annotator review /absolute/path/plan.md` blocks until a decision and prints the result as JSON. Everything runs locally.
Who it is for. People who review agent plans before work and want to edit specific phrases instead of typing a general reply in chat.
Good fit when
- A ten-step agent plan needs edits: two steps removed and a third rewritten.
- Comments on different plan items must go back as one structured reply.
- The standard plan approval window is restored temporarily without removing the plugin.
- An agent without its own plugin gets a plan for review through a Markdown file path.
Not a fit when
- Work happens on Windows; only Linux and macOS are listed as platforms.
- A code diff review is needed; the tool annotates Markdown plans.
- The plugin is unnecessary when a short chat reply is enough.
Example request
/annotate-plan Move session storage from memory to Redis. Show the plan in the browser and wait for my edits.Limitations
The README lists Linux and macOS as platforms. The plugin installs the runtime build for your system. A third-party marketplace in Claude Code does not auto-update by default, so enable auto-update in the marketplace UI. After updating OpenCode restart its background service. The hook holds plan mode until you decide in the browser, and a file named by `OPEN_PLAN_ANNOTATOR_SKIP_FILE` disables it. The license is MIT.
How to disable. In Claude Code run `/plugin uninstall open-plan-annotator@ndom91-open-plan-annotator`. The global package is removed with `npm uninstall -g open-plan-annotator`.
FAQ
How do I install it in Claude Code?
With `/plugin marketplace add ndom91/open-plan-annotator` and `/plugin install open-plan-annotator@ndom91-open-plan-annotator`. The plugin adds an `ExitPlanMode` hook and the `/annotate-plan` command.
How do I connect it to OpenCode?
Add `"plugins": ["open-plan-annotator@latest"]` to `opencode.jsonc` and restart the OpenCode background service. The agent gets the `annotate_plan` tool.
How do I restore the standard plan approval?
Set `OPEN_PLAN_ANNOTATOR_SKIP_FILE` to a file path: while the file exists the hook makes no decision and Claude Code shows its own window. Delete the file to bring the annotator back.
Which shortcuts exist?
`d` strikes, `r` replaces, `s` inserts and `c` comments on selected text. Approve with `Cmd+Enter` and request changes with `Cmd+Shift+Enter`.
Does data go over the network?
No, the server is temporary and local, and the interface opens in your browser. The environment can be checked with `open-plan-annotator doctor`.
Discussion
No questions or reviews yet.
Related
PluginsA Claude Code plugin sends a plan or document to the Imark macOS app for review and returns the notes via the file.
Claude Mods (zycck)
claude-mods (zycck)
A plan-progress plugin for Claude Code that draws progress bars above the prompt with stages, steps and a row for each subagent.
A Claude Code plugin that catches your corrections in chat and, after review, writes them into CLAUDE.md and AGENTS.md
Agent Standup shows Claude Code, Codex and Mistral Vibe sessions as a live team call: who works, who waits.
A scaffold for Claude Code and Codex: tasks in files, developer and QA roles, manual approval and shared state.
A Claude Code panel for several projects: statuses, button decisions, Git, PR, CI and usage limits in one window.
README in short
The plugin is built on Bun and React, and the main package pulls the platform-specific runtime. Claude Code, OpenCode and pi each have their own entry point, while the CLI serves other agents.