Plannotator is a local, browser-based review surface for coding agents. It hooks into the agent through its own hooks and commands, so when the agent proposes a plan, produces HTML, or finishes writing code, the work opens in your browser, where you mark it up, comment, and send the feedback back for the agent to act on. Supported agents include Claude Code, Codex, Copilot CLI, Gemini CLI, OpenCode, Kiro, Droid, Amp, and Pi.
There are two review surfaces. Document review annotates plans, specs, Markdown files, folders, URLs, agent messages, and rendered HTML artifacts. Code review opens uncommitted local changes or a GitHub pull request or GitLab merge request in a diff viewer with a file tree, line-level annotations, code suggestions, and staging, and works with Git, GitButler, Jujutsu, and Perforce.
Plan review needs no command. The agent’s plan-exit call fires a permission-request hook, a local server reads the plan from the hook input, and the browser opens the review interface. Approving lets the agent proceed; denying sends structured feedback, and a plan diff shows what changed between revisions. Commands cover the rest: annotate a file, folder, or URL; review a diff or pull request; or annotate the agent’s last message.
Plans, diffs, annotations, drafts, history, and configuration stay local by default, and no usage telemetry or analytics is collected. Content leaves only when a network feature needs it: URL annotation fetches the requested site, pull-request review uses your authenticated CLI, Ask AI and review agents send context to your configured provider, and sharing sends a link. Small Markdown shares are compressed into the URL fragment; larger Markdown and raw HTML shares are encrypted with AES-256-GCM before upload to a self-hostable paste service that stores only ciphertext.
Features
- Plan review: hooks into the agent's plan step so each proposed plan opens for annotation before it executes
- Code review: side-by-side or unified diffs for uncommitted changes, GitHub pull requests, and GitLab merge requests, with line-level comments and code suggestions
- Annotation actions: inline comments, marked deletions that remove scope, and replacement text, exported as structured feedback
- Version history: every plan revision is saved with diffs between versions, and annotation drafts survive crashes and restarts
- HTML artifacts: rendered HTML can be annotated as-is instead of being converted to Markdown
- Terminal review: Herdr Annotate and a standalone TUI bring the same document review to the terminal, sharing one data directory with the app
- Editor and note integrations: VS Code editor tabs and gutter annotations, Obsidian vault saves with frontmatter and tags, and Bear notes with nested tags
- Version-control coverage: Git, GitButler, Jujutsu, and Perforce locally, plus GitHub and GitLab review by URL
- Local by default: plans, diffs, drafts, and configuration stay on disk, with no usage telemetry or analytics
- Link sharing: URL-fragment shares for small documents and AES-256-GCM encrypted short links for larger ones, with a self-hostable paste service
- Remote sessions: SSH auto-detection and a fixed port for devcontainer or forwarded-port setups
- Vim controls: an optional keyboard profile that moves through a document block by block, with a contextual key reference
Integrates with
Claude Code
Terminal-based agentic coding tool that reads your codebase and runs tasks through natural-language commands
Codex
Lightweight coding agent that runs in your terminal
OpenCode
Open-source AI coding agent that runs in the terminal, an IDE, or a desktop app
Pi
Minimal, self-extensible terminal coding agent and harness with a multi-provider LLM API
