Once Plannotator is installed, it works automatically. Here’s what a plan review looks like.
1. Claude generates a plan
Ask Claude to do something that requires planning. When Claude calls ExitPlanMode, the Plannotator hook intercepts the request and opens the review UI in your browser.
Claude calls ExitPlanMode
↓
PermissionRequest hook fires
↓
Plannotator reads the plan from stdin
↓
Browser opens with the plan review UI
2. Review the plan
The plan renders as formatted markdown with syntax-highlighted code blocks. Read through it at your own pace.
3. Annotate
Select any text in the plan to open the annotation toolbar. Choose an action:
- Delete — Mark text for removal (“Remove this”)
- Replace — Suggest replacement text (“Change this to…”)
- Comment — Add feedback on a section (“This needs more detail”)
- Insert — Add new content after the selection (“Add error handling here”)
You can also add global comments — general feedback that isn’t tied to specific text.
Switch between annotation modes using the mode switcher at the top of the document:
- Select — Click to select text, then choose an annotation type
- Redline — Select text to instantly mark it for deletion
- Comment — Select text to jump straight to adding a comment
4. Approve or request changes
When you’re done reviewing:
- Approve (
Cmd/Ctrl+Enterwith no annotations) — Claude proceeds with implementation - Send Feedback (
Cmd/Ctrl+Enterwith annotations) — Your annotations are formatted and sent back to Claude, who revises the plan
Your annotations are exported as structured feedback that Claude can act on directly.
5. Claude continues
After approval, Claude implements the plan. After feedback, Claude revises the plan and presents it again for review. The cycle continues until you approve.