Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.11.1 | VS Code extension for in-editor plan review, Pinpoint mode for point-and-click annotations, untracked files in code review |
| v0.11.0 | Auto-save annotation drafts, comment popover, Obsidian vault browser, deny message framing fix, configurable OpenCode timeout |
| v0.10.0 | Short URL sharing with E2E encryption, code suggestions in review UI, CJK input method support, customizable Obsidian filenames, XDG install fix |
| v0.9.3 | Linked document navigation & annotation, VS Code diff integration, toolbar dismiss fix, automated npm publishing |
| v0.9.0 | Plan Diff with two view modes, version history, sidebar redesign, terminology cleanup |
| v0.8.5 | Pi coding agent support, auto-close countdown, image endpoint security fix, OpenCode package fix |
| v0.8.0 | Open source (MIT/Apache-2.0), annotate command, self-hosted share portal, resizable panels, mermaid controls, auto-close on approval, documentation site |
| v0.7.0 | TOC sidebar, sticky actions, save to notes without approving, import teammate reviews, viewed file tracking |
What's New in v0.11.2
This release fills gaps across the whole surface area — worktree users can finally review diffs from linked working trees, VS Code users can annotate code in their editor tabs during code review (not just plan review), and Obsidian users get auto-save and cleaner filenames. Closed the Plannotator tab while Claude is still waiting? plannotator sessions finds your active servers so you can reopen the UI without restarting the agent.
Git Worktree Support in Code Review
Running /plannotator-review from a repository with git worktrees now surfaces each worktree as a selectable option in the diff dropdown. Selecting a worktree runs the diff scoped to that working tree's directory, showing its uncommitted changes, last commit, or branch diff — the same options available for the main repo. Once inside a worktree view, the dropdown adapts to show only worktree-relevant diff types, and a "Back to main repo" option returns to the original context.
This was a straightforward gap: worktree users had no way to review changes happening in linked trees. The diff infrastructure already supported custom cwd — it just needed worktree detection via git worktree list --porcelain and a UI path to reach it.
- Thanks to @alexandrekm for reporting this (#196) and @sushi30 for the discussion on commit-level flexibility
Configurable Browser & Session Management
Accidentally closed the Plannotator tab while Claude is still waiting for your review? plannotator sessions shows all active server sessions so you can find and reopen it. Use --open to launch the tab again, or --clean to clear stale entries from sessions that didn't shut down cleanly. Sessions register at ~/.plannotator/sessions/ on startup and remove themselves on exit.
This release also adds a --browser CLI flag to control which browser Plannotator opens. Pass an app name on macOS (plannotator review --browser "Safari") or an executable path on Linux/Windows. Set PLANNOTATOR_BROWSER as an environment variable for a persistent default.
Obsidian Saving Enhancements
Three improvements for Obsidian users, both from requests by @ovitrif:
Filename separator setting — a new dropdown in Obsidian settings replaces spaces in generated filenames with dashes or underscores. This fixes issues with CLI tools (including Claude Code itself) fumbling space-escaped paths inside Obsidian vaults. (#235)
Auto-save on plan arrival — an opt-in toggle that saves plans to your Obsidian vault the moment they load, before you approve or deny. This solves a real workflow problem: approving a plan from the CLI kills the hook server before you can Cmd+S, losing the save entirely. (#228)
Hardened title sanitization — plan titles with parentheses, brackets, curly braces, hash, tilde, and backtick characters now produce clean filenames instead of passing those characters through.
Smart File Resolution for Annotate
The /plannotator-annotate command no longer requires exact file paths. Three resolution strategies are tried in order: exact path match, case-insensitive relative path, and bare filename search across the project. If a bare filename is ambiguous (matches multiple files), you get the full list so you can pick. Common directories like node_modules/, .git/, and dist/ are excluded from search.
- PR by @dgrissen2 (#237)
VS Code Editor Annotations in Code Review
The VS Code editor annotation system — select code in your editor tabs, annotate it, and have those annotations appear in Plannotator's sidebar — was introduced in v0.11.1 for plan review. It now works in code review too. The same Cmd+Shift+. shortcut, the same inline comment threads, the same gutter decorations. Annotations from editor tabs appear under an "Editor" divider in the ReviewPanel and are included in the feedback markdown sent back to the agent.
This also includes VS Code theme integration: the extension now bridges VS Code's CSS variables into the Plannotator iframe, so the review UI automatically adopts whatever color theme you're using — dark, light, Monokai, Solarized, etc. The existing OKLCH palette serves as fallback for non-VS Code contexts.
Additional Changes
- Pinpoint mode fix — clicking stopped working after entering and exiting Plan Diff view because the click handler captured a null highlighter ref at effect setup time. The ref is now resolved lazily at click time. (#238)
- Inline links inside bold/italic — links nested inside
**bold**or_italic_markdown were rendered as plain text instead of clickable links. The inline markdown renderer now handles this recursively. (#236 by @flex-yj-kim) - Light mode code blocks — highlight.js markdown grammar tokens (emphasis, strong, code) used dark-theme colors that made text nearly invisible in light mode. CSS overrides now force these tokens to inherit the base code color. (#234 by @dgrissen2)
- Windows annotate paths — file path resolution for
/plannotator-annotateon Windows failed when paths used@prefix or when the working directory differed between caller and Bun script. AddedPLANNOTATOR_CWDenv var support and proper path joining. (#233 by @theflysurfer)
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
- fix(annotate): resolve file paths correctly on Windows by @theflysurfer in #233
- fix: unreadable text in markdown code blocks (light mode) by @dgrissen2 in #234
- fix: render inline links inside bold and italic markdown by @flex-yj-kim in #236
- feat: smart file resolution for plannotator annotate by @dgrissen2 in #237
- fix(pinpoint): restore click handler after exiting plan diff by @backnotprop in #238
- feat: VS Code editor annotations + theme integration by @backnotprop in #239
- feat: Obsidian saving enhancements — separator, auto-save, sanitization by @backnotprop in #240
- feat: support git worktrees in code review by @backnotprop in #241
- feat: --browser CLI flag & session discovery by @backnotprop in #242
Contributors
New contributors:
- @theflysurfer made their first contribution in #233
Community members who reported issues and requested features that shaped this release:
- @hihiboss — #135 (configurable browser & session reopen)
- @alexandrekm — #196 (worktree support in code review)
- @sushi30 — discussion on #196 (commit-level worktree flexibility)
- @ovitrif — #235 (filename separator) and #228 (auto-save on arrival)
Full Changelog: v0.11.1...v0.11.2