Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.15.5 | Custom display names, GitHub viewed file sync, expand/collapse all in file tree, search performance, WSL fix |
| v0.15.2 | Compound Planning skill, folder annotation, /plannotator-archive slash command, skill installation via platform installers
|
| v0.15.0 | Live AI chat in code review, plan archive browser, folder file viewer, resizable split pane, Pi full feature parity |
| 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 |
| 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 |
What's New in v0.16.0
v0.16.0 adds GitHub Copilot CLI as Plannotator's fifth runtime, an external annotations API for integration (stay tuned...), bot callback URLs for Slack-style approval workflows, interactive plan checkboxes, print support, and configurable diff display options. 11 PRs, 3 from external contributors, 2 first-timers.
GitHub Copilot CLI Integration
Plannotator now works with GitHub Copilot CLI, contributed by @Yecats. Plan review, code review, and markdown annotation all function the same way they do in Claude Code. The Copilot plugin hooks into exit_plan_mode to intercept plans, and the same /plannotator-review, /plannotator-annotate, and /plannotator-last commands are available.
Install the binary, then in Copilot CLI:
/plugin marketplace add backnotprop/plannotator
/plugin install plannotator-copilot@plannotator
A follow-up PR added environment-variable-based agent detection so the UI correctly identifies which agent launched Plannotator, fixing the badge display that was previously hardcoded to Claude Code.
External Annotations API
Any external program can now push annotations into a live Plannotator session. Linters, AI tools, or custom scripts send annotations via HTTP POST to /api/external-annotations, and they appear in the browser UI in real-time through Server-Sent Events. The API supports single and batch annotation creation, field updates via PATCH, deletion by ID or source, and version-gated polling as a fallback for environments where SSE isn't practical.
This is the foundation for integrating Plannotator with external toolchains. A linter could annotate code review diffs with warnings. A CI pipeline could push review comments. An AI assistant could highlight sections of a plan it has questions about.
All three server types (plan, review, annotate) expose the same endpoints, and the Pi extension has full parity.
Interactive Checkboxes
Task checkboxes in rendered plans are now clickable. Checking or unchecking a box creates a COMMENT annotation that captures the action, the section context, and the task text. Toggling back to the original state removes the override and deletes the annotation. This means your checkbox interactions become part of the feedback sent to the agent.
Print Support
Plans can now be printed directly from the review UI. An export dropdown menu in the toolbar offers a print option, and Ctrl+P / Cmd+P works as a keyboard shortcut. A dedicated print stylesheet produces clean white-paper output with A4 formatting, hiding the toolbar, sidebar, and interactive elements.
Diff Display Options
The code review diff viewer now exposes display settings that were previously locked to defaults. You can configure overflow behavior (scroll vs word wrap), toggle diff indicators and line numbers, control inline diff granularity, and show or hide diff backgrounds. All settings are persisted via the ConfigStore system (cookies + ~/.plannotator/config.json) and accessible from a new Display tab in the review Settings dialog.
Bot Callback URL Parameters
Plannotator share URLs now support callback parameters for bot integrations. When a bot (e.g., a Slack bot) generates a plan and posts the Plannotator URL, it can embed ?cb=<callback_url>&ct=<auth_token> so the approval decision is sent back to the bot automatically. The user reviews and approves in Plannotator, and the bot receives the result without any copy-paste.
- Authored by @aviadshiber in #416
Additional Changes
- OpenCode startup performance. Replaced compile-time HTML embedding with lazy
readFileSyncgetters and background preloading. Bundle size drops from 21.25 MB to 0.81 MB (96% reduction), cold-start module load from ~160ms to ~35ms (#411, closing #410 reported by @DRBragg) - Markdown parser fixes. Indented closing fences (inside list items), trailing text after fence closers, and false table detection on lines with pipes are all fixed (#429, closing #427 reported by @jhillyerd)
- PR/MR platform test coverage. Regression tests for URL parsing, labels, display helpers, and CLI selection across GitHub and GitLab, including self-hosted GitLab (#426 by @sudorest)
- Compound skill description fix. Trimmed to fit Claude Code 2.1.86's 250-character limit and added
disable-model-invocationfrontmatter (#430, closing #412 reported by @arogulin) - Copilot on marketing site. The landing page harness selector now includes a Copilot button with install instructions, in alphabetical order alongside the other five runtimes.
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".
Copilot CLI:
/plugin marketplace add backnotprop/plannotator
/plugin install plannotator-copilot@plannotator
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: GitHub Copilot CLI integration by @Yecats in #409
- perf(opencode): lazy-load HTML to fix plugin startup time by @backnotprop in #411
- feat: bot callback URL params for seamless plan review by @aviadshiber in #416
- fix: detect calling agent via env vars and centralize agent config by @Yecats in #418
- feat: print support with export menu integration and keyboard shortcut by @Yecats in #420
- feat: interactive checkboxes with annotation tracking by @Yecats in #423
- test: cover PR/MR platform helpers by @sudorest in #426
- feat(review): diff display options with ConfigStore integration by @backnotprop in #428
- fix(parser): indented fences, trailing text, table detection, and escaped pipes by @backnotprop in #429
- fix(skill): trim compound skill description under 250-char limit by @backnotprop in #430
- feat: external annotations API with real-time SSE by @backnotprop in #400
New Contributors
- @Yecats made their first contribution in #409
- @aviadshiber made their first contribution in #416
Contributors
@Yecats authored four PRs in this release: GitHub Copilot CLI integration (#409), agent detection fix (#418), print support (#420), and interactive checkboxes (#423). First contribution to the project, and immediately one of the most prolific single-release contributors.
@aviadshiber authored the bot callback URL system (#416), enabling Plannotator integration with external bot workflows. First contribution.
@sudorest added PR/MR platform test coverage (#426), protecting the multi-platform review routing.
Community members who reported issues that drove changes in this release:
- @DRBragg: #410 (OpenCode plugin startup time)
- @kanchev1: #421 (word wrap toggle in diff viewer)
- @jhillyerd: #427 (indented code block detection)
- @arogulin: #412 (skill description character limit)
Full Changelog: v0.15.5...v0.16.0