Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.14.5 | GitLab merge request review, login page image fix, Windows install path fix |
| v0.14.4 | GitHub review submission, repo identifier in tab title, nested code fence parser fix, Pi paste URL wiring, file header gap fix |
| v0.14.3 | PR context panel, diff search in code review, OpenCode permission normalization, landing page redesign |
| v0.14.2 | OpenCode plan mode prompt replacement, Windows non-ASCII path fix, Pi link fix |
| v0.14.1 | Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix |
| v0.14.0 | PR review via GitHub URL, /plannotator-last for annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
|
| v0.13.1 | OpenCode plan mode rewrite, Obsidian save fix |
| v0.13.0 | Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions |
| v0.12.0 | Quick annotation labels, mobile compatibility, Graphviz rendering, markdown images with lightbox, linked doc navigation in annotate mode |
| v0.11.4 | Git add from code review, bidirectional scroll navigation, clipboard paste for annotation images, VS Code IPC port stability |
| v0.11.3 | Expandable diff context, hierarchical folder tree, redesigned worktree controls, supply chain hardening |
What's New in v0.15.0
v0.15.0 adds live AI chat to code review, the ability to browse all your previous plans, a folder-based file viewer for referencing docs (e.g. Superpowers) during annotation, and full feature parity for the Pi extension. 11 PRs, 2 from external contributors, 1 first-time.
Live AI Chat in Code Review
You can now talk to an AI directly inside the code review UI. Select lines in a diff and click "Ask AI" to get context-aware explanations about what the code does and why it changed. Or open the AI sidebar tab to ask general questions about the changeset. Responses stream in real-time with full markdown rendering.
Plannotator works with the coding tools you already have installed. On startup, it checks which tools are available on your machine — Claude Code, Codex, Pi, OpenCode — and offers them as providers. You choose which one to use and which model to use with it in Settings. That choice persists across sessions. You can switch providers at any time. The only requirement is that the tool is installed and authenticated locally; Plannotator doesn't handle login or API keys itself.
Under the hood, each tool is accessed through a provider-agnostic layer (@plannotator/ai) that handles session lifecycle, streaming, and tool execution uniformly. Claude and Codex communicate via subprocess, Pi via RPC over JSONL/stdio, and OpenCode via HTTP + SSE. The OpenCode provider supports forked sessions, runtime permission approvals, and dynamic model discovery from connected providers.
Browse All Previous Plans
You can now view every plan you've approved or denied. The plannotator archive command opens a read-only browser of your plan history, with approved/denied badges and timestamps. During normal plan review, a new Archive sidebar tab gives you the same view without leaving the session, so you can reference past decisions while reviewing a new plan.
This replaces the old "Other Plans" UI and removes the dead /api/plan/history endpoint.
- #369, closing #362 reported by @andreivladmatei
Attach Folders for Reference During Review
A new Files tab in the sidebar gives you access to all markdown files in your project. Click any file to open it as a linked document with full annotation support. If you have docs, specs, or notes in directories outside the project root, add them in Settings and they show up as additional sections. Useful for power users who want their full documentation library at hand while reviewing or annotating plans.
Works in both plan mode and annotate mode. Directory sections are collapsible, and common non-content directories (node_modules, .git, dist, build, etc.) are excluded.
- #378, closing #367 requested by @andymac4182
Resizable Split Pane in Code Review
The split diff viewer now has a draggable divider between left and right panes. Drag to resize; the ratio is clamped to 20-80% and persisted via cookie storage. Double-click the handle to reset to 50/50. The implementation uses CSS custom properties that inherit into Pierre's shadow DOM, so resizing triggers zero re-renders of the diff component. The handle is hidden for add-only or delete-only files where Pierre renders a single column.
Pi Extension: Full Feature Parity
The Pi extension was missing a significant number of features that Claude Code and OpenCode users had access to. PR review, note-taking integrations (Obsidian, Bear, Octarine), plan saving with version history, editor annotations, the file browser, linked doc resolution with security checks, and the AI backbone were all absent or partially implemented. This release closes that gap entirely. Pi users now have access to every feature available on the other platforms.
The server was rewritten from a monolithic server.ts into a modular architecture split across domain-specific modules (serverPlan.ts, serverReview.ts, serverAnnotate.ts, plus shared handlers, reference resolution, annotations, integrations, PR support, and networking). A generated/ directory holds shared code copied from packages/shared/ at build time, so both Bun and Pi consume the same logic for storage, drafts, file resolution, and integrations.
A line-by-line parity audit then verified every endpoint, response shape, error case, and conditional across all three server types. This uncovered and fixed: missing error handling on several endpoints, a broken detectProjectNameSync that silently failed, a missing pasteApiUrl in Bun's annotate server that broke short URL sharing, and stale naming inconsistencies. An automated route parity test now runs in CI to prevent drift going forward.
Additional Changes
- OpenPackage manifest. Adds
openpackage.ymlfor installation viaopkg install plannotator(#368 by @TiagoJacinto) - Duplicate code review header fix (Pi). The
# Code Review Feedbackheading appeared twice when the Pi extension submitted review feedback. The wrapper no longer adds a redundant header (#370 by @dmmulroy) - Duplicate code review header fix (OpenCode). Same issue in the OpenCode plugin (#375, closing #374 reported by @nulladdict)
- Empty submit in annotate mode. The annotate UI no longer blocks submission when there are no annotations. Linked doc annotations are now counted in validation, fixing a case where annotations on linked documents couldn't be submitted (#376, closing #371 and #373 reported by @bman654)
- Sidebar resize handle fix. The left sidebar handle was visible on hover but couldn't be grabbed due to a touch area regression from v0.14.5. Fixed with asymmetric positioning that avoids covering scrollbars.
- Linked doc border styling. The border around linked documents (Obsidian files, project files, archive plans) is now thinner and more subtle — 1px at 40% opacity instead of the previous 2px solid primary.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".
OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorThen in opencode.json:
{
"plugin": ["@plannotator/opencode@latest"]
}Pi: Install or update the extension:
pi install npm:@plannotator/pi-extensionWhat's Changed
- feat(ai): AI backbone + inline chat for code review by @backnotprop in #363
- Add OpenPackage manifest by @TiagoJacinto in #368
- feat: plan archive browser by @backnotprop in #369
- fix: remove duplicate 'Code Review' header in pi extension review feedback by @dmmulroy in #370
- fix: remove duplicate 'Code Review' header in opencode plugin by @backnotprop in #375
- fix: allow empty submit and count linked doc annotations in annotate mode by @backnotprop in #376
- feat(ai): Pi provider via RPC subprocess by @backnotprop in #377
- feat: markdown file browser sidebar tab by @backnotprop in #378
- feat(ai): OpenCode provider via HTTP + SSE by @backnotprop in #379
- feat(pi): complete Pi server rewrite — modular architecture, full Bun parity, shared code extraction by @backnotprop in #382
- feat: resizable split pane for code review diff viewer by @backnotprop in #383
New Contributors
- @TiagoJacinto made their first contribution in #368
Contributors
@TiagoJacinto added the OpenPackage manifest (#368), enabling installation via opkg. First contribution to the project.
@dmmulroy fixed the duplicate code review header in the Pi extension (#370), a follow-up to his paste URL wiring work in v0.14.4.
Community members who reported issues that drove changes in this release:
- @andreivladmatei: #362 (plan archive feature request)
- @andymac4182: #367 (file browser / folder annotation request)
- @bman654: #371 and #373 (annotate mode submission bugs)
- @nulladdict: #374 (duplicate header in OpenCode review feedback)
Full Changelog: v0.14.5...v0.15.0