Plannotator

Visually annotate your coding agent's plans and diffs in the browser and send feedback back with one click.

Stars
★ 9.6k
Last updated
today
License
Apache-2.0
Primary language
TypeScript

At a glance

How it runs
CLIAgent plugin / skillIDE extension
Works with
Universal · cross-platformCodex · Claude Code
Cost
Free tier plus a paid hosted plan
Setup effort
Low · running in minutes
You'll need
Bun (development)Shell / CLINetwork accessLocal filesystem
Typical use
A Claude Code developer who wants to mark up an agent's implementation plan inline before it executes
Not a fit if
  • Teams that need zero outbound network requests
  • Teams wanting long-term support for open-source link sharing
  • Droid users needing plan interception, not just commands
Source review
78/100 · Good

What does this agent do, and when should you use it?

Plannotator is a local, browser-based review surface for AI coding agents including Claude Code, Codex, Copilot CLI, Gemini CLI, OpenCode, Kiro, Droid, Amp, and Pi. It plugs into each agent through hooks and slash commands: when the agent proposes a plan, writes HTML, or finishes code, the work opens in your browser where you annotate, comment, and send structured feedback directly to the agent. It also reviews code diffs from local changes or remote GitHub/GitLab PRs and MRs, working with Git, GitButler, Jujutsu, and Perforce. Plans, diffs, annotations, and history stay local by default with no telemetry collection. Team sharing works via links (encrypted or not) or the hosted Workspaces product, and terminal-based Herdr Annotate/TUI and a VS Code extension extend the workflow.

Through hooks like PermissionRequest and Stop, it intercepts agent plans or code output, starts a local server, and opens a review UI in the browser. Core commands include /plannotator-annotate (annotate local Markdown, folders, URLs, or rendered HTML), /plannotator-review (review uncommitted changes, GitHub PRs, or GitLab MRs, with GitButler workspace support), /plannotator-last (annotate the agent's last reply), plus CLI subcommands plannotator sessions and plannotator archive. Plan review flow: agent calls ExitPlanMode → hook fires → browser opens review UI → you annotate and approve/deny → approve lets the agent proceed, deny sends structured feedback back. Code review flow: git diff or PR/MR fetched by URL → browser diff viewer → line comments, stage/unstage files → feedback returned to the agent session. Integrations include a VS Code extension, Obsidian plan archiving, and Bear note export.

  1. A Claude Code developer who wants to mark up an agent's implementation plan inline before it executes

How do you install or deploy this agent?

Run the one-line installer: curl -fsSL https://plannotator.ai/install.sh | bash (macOS/Linux/WSL) or irm https://plannotator.ai/install.ps1 | iex (Windows PowerShell). It installs the plannotator binary and auto-configures detected agents. Per-agent step: for Claude Code run /plugin marketplace add backnotprop/plannotator then /plugin install plannotator@plannotator; for Pi skip the installer and run pi install npm:@plannotator/pi-extension; for OpenCode add "plugin": ["@plannotator/opencode@latest"] to opencode.. Use --minimal for binary-only, --version to pin. Uninstall with plannotator uninstall or --purge.

How do you use this agent?

Plan review needs no command: the review UI opens in your browser automatically whenever your agent proposes a plan. Manual invocation: /plannotator-annotate README.md to annotate a local file, /plannotator-annotate https://... for a URL, /plannotator-review for uncommitted changes, /plannotator-review <PR URL> for a PR/MR, /plannotator-last to annotate the agent's last reply. CLI: plannotator sessions --open 1 to reopen a session, plannotator archive to browse past decisions. Configure via environment variables (PLANNOTATOR_REMOTE, PLANNOTATOR_PORT, PLANNOTATOR_SHARE, etc.) or ~/.plannotator/config.. For SSH/remote use, set PLANNOTATOR_REMOTE=1 and forward the port (remote default 19432).

What are this agent's strengths and limitations?

Pros
  • Covers both plan review and code diff review with one-click feedback back into the agent session
  • Supports nine agents (Claude Code, Codex, Gemini CLI, Pi, etc.) with one installer configuring hooks and commands
  • Fully local by default with no telemetry; sharing uses a PrivateBin-style AES-256-GCM encrypted paste model
  • Releases ship SHA256 sidecars, SLSA provenance attestations, and CycloneDX SBOMs for supply-chain verification
Limitations
  • Some network features send content off-device: Ask AI sends context to your configured provider, and URL annotation fetches pages via Jina Reader by default
  • The app checks GitHub for the latest release on load with no opt-out setting currently
  • Open-source link sharing is moving to deprecated support; team collaboration is steered toward hosted Workspaces where the local-data model doesn't apply
  • Hooks/plugins are configured per agent, and support depth varies (e.g., Droid gets commands only, no plan interception)

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Plannotator This agent 78 · Good CLIFreemium ★ 9.6k today TypeScript Codex · Claude Code
multi 41 · Major gaps — ★ 23 3d ago Shell Codex · Claude Code · Claude API
Maestro Orchestration Platform 75 · Some gaps Agent plugin / skillFree + model costs ★ 484 5d ago JavaScript Codex · Claude Code
Ordewell 67 · Some gaps CLIFree + model costs ★ 205 today TypeScript Codex · Claude Code · OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Good
78/ 100 5-point scale 3.9 / 5
This review covers the source as of Sep 10, 2026. The project has shipped 26 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 24/29
Reliability 8/14
Adaptability 15/18
Convention 14/18
Effectiveness 12/13
Verifiability 5/8
Why each dimension lost points
Trust24 / 29 · 4.1/5

Least privilege is well handled: hooks intercept only plan/approval flows; uninstall includes root/home refusals, symlink guards, dry-run; user confirmation is the product's core (approve/deny plans; purge requires typing 'purge'); the privacy section is unusually detailed (local-by-default, GitHub update checks, AES-256-GCM encrypted shares); dependency security has SBOM, Grype gating, SLSA attestations, digest-pinned CI images. Deductions: no opt-out for release checks; attribution is only 'backnotprop' with unverified publisher and no entity/team info, so source_attribution is 1.

Reliability8 / 14 · 2.9/5

README is consistent with package. (v0.27.13), workflows, and test paths; per-agent version requirements are noted. Deductions: the deploy notes admit install scripts on the CDN must be hand-synced with only md5 verification, a drift risk; no direct evidence of error-message design in the sampled sources, so failure_messages is 1, resting only on uninstall prose.

Adaptability15 / 18 · 4.2/5

Covers nine agents, macOS/Linux/WSL/Windows, SSH/devcontainer remote mode, Git/GitButler/Jujutsu/Perforce/GitHub/GitLab, with clear scenario separation. Deductions: capability boundaries appear only as scattered notes ('no plan interception yet', experimental Codex hooks) rather than a systematic statement; hooks auto-fire outside user configuration control, so trigger_precision is 2.

Convention14 / 18 · 3.9/5

Information architecture, install notes, and naming (plannotator-*, PLANNOTATOR_*) are highly consistent and thorough. Deductions: no CHANGELOG file in evidence; license declared 'MIT OR Apache-2.0' in package., inconsistent with external Apache-2.0 metadata and no LICENSE file shown; no FAQ; known limitations are scattered (SBOM caveat, deprecated sharing, experimental Codex), scoring 1-2.

Effectiveness12 / 13 · 4.6/5

Browser-based annotation UI, plan diffs, and structured feedback back to the agent are concrete usable outputs; the niche (visual annotation of agent plans/diffs) shows clear marginal value. Deductions: ~20MB single-file bundles and an installer that writes into many agent configs make cost/benefit merely average, 2.

Verifiability5 / 8 · 3.1/5

SLSA/CycloneDX verification commands, sha256 sidecars, and --verify-attestation give strong traceability; DAST workflow and tests partially corroborate README claims. Deductions: privacy claims ('no telemetry') are self-asserted without independent corroboration; README mixes facts (commands) with promotional inference moderately, each 2.

Risks and how to mitigate them
  • Installation is curl | bash with attestation verification opt-in; enterprises should prefer --minimal or verify SLSA attestations manually before install.
  • The release check has no opt-out and contacts GitHub on every app-surface load; evaluate for egress-restricted environments.
  • Sharing uploads content to an external paste service by default; consider PLANNOTATOR_SHARE=disabled for sensitive repos.
  • License metadata says Apache-2.0 while package. declares 'MIT OR Apache-2.0'; confirm actual terms before procurement.
  • Privacy and security claims are self-asserted; this was a static review with no executed verification.
Evidence confidence: Low Reviewed Sep 10, 2026 Reviewed revision 151a1e8cbfb3 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.28.30
    Release notes excerpt
    Follow [@plannotator](https://x.com/plannotator) on X for updates <details> <summary><strong>Missed recent releases?</strong></summary> | Release | Highlights | |---|---| | [v0.28.29](https://github.com/backnotprop/plannotator/releases/tag/v0.28.29) | Plan review opens on OpenCode 2, a DOMPurify security update, closing a review stops the agent everywhere | | [v0.28.27](https://github.com/backnotprop/plannotator/releases/tag/v0.28.27) | Jump to open questions, files side by side or full screen, image zoom in the Inbox, empty To field, text size for plan review and annotate | …
    View on GitHub ↗
  2. v0.28.29
    Release notes excerpt
    Follow [@plannotator](https://x.com/plannotator) on X for updates <details> <summary><strong>Missed recent releases?</strong></summary> | Release | Highlights | |---|---| | [v0.28.27](https://github.com/backnotprop/plannotator/releases/tag/v0.28.27) | Jump to open questions, files side by side or full screen, image zoom in the Inbox, empty To field, text size for plan review and annotate | …
    View on GitHub ↗
  3. v0.28.27
    Release notes excerpt
    Follow [@plannotator](https://x.com/plannotator) on X for updates <details> <summary><strong>Missed recent releases?</strong></summary> | Release | Highlights | |---|---| | [v0.28.26](https://github.com/backnotprop/plannotator/releases/tag/v0.28.26) | Action items and reply drafts in the Inbox, one decision button for plan review, Enter to save a comment, a custom code font | | [v0.28.25](https://github.com/backnotprop/plannotator/releases/tag/v0.28.25) | Re-ask open questions, delivery ticks on the list, a count of new messages on the tab, right-click a thread, click Inbox to refresh | …
    View on GitHub ↗
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents