Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.19.8 | 49 themes with syntax highlighting, keyboard shortcut registry, smart code-file path validation, remote URL notifications |
| v0.19.7 | Codex Stop-hook plan review, Codex skills, sidebar auto-close, file tree context menu |
| v0.19.6 | Non-blocking Pi browser sessions, agent picker dropdown for OpenCode, annotate-last file resolution fix |
| v0.19.5 | All-files diff view, clickable code file paths, server-side hide whitespace, non-ASCII path support |
| v0.19.4 | All-files diff type, code file viewer, hide whitespace, quick-settings popover |
| v0.19.3 | Configurable feedback messages, hide merged PRs in stacked PR selector |
| v0.19.2 | Stacked PR review, source line numbers in feedback, diff type dialog re-show, ghost dot removal, docs cleanup |
| v0.19.1 | Hook-native annotation, custom base branch, OpenCode workflow modes, quieter plan diffs, anchor navigation |
| v0.19.0 | Code Tour agent, GitHub-flavored Markdown, copy table as Markdown/CSV, flexible Pi planning mode, session-log ancestor-PID walk |
| v0.18.0 | Annotate focus & wide modes, OpenCode origin detection, word-level inline plan diff, Markdown content negotiation, color swatches |
| v0.17.10 | HTML and URL annotation, loopback binding by default, Safari scroll fix, triple-click fix, release pipeline smoke tests |
| v0.17.9 | Hotfix: pin Bun to 1.3.11 for macOS binary codesign regression |
What's New in v0.19.9
v0.19.9 adds a user-managed workflow mode for OpenCode, fixes model switching in Pi's plan approval flow, and introduces a bypass-with-reminder permission mode for Claude Code. Five PRs total, two from first-time contributors.
User-Managed Workflow Mode for OpenCode
OpenCode's plugin previously offered two extremes: manual (slash commands only, no submit_plan tool) and plan-agent/all-agents (full automation with prompt injection and permission overrides). Users who wanted the submit_plan tool without Plannotator modifying their system prompts or agent configuration had no middle ground.
The new user-managed workflow mode fills that gap. It registers the submit_plan tool and all slash commands, but does not inject planning prompts, rewrite tool definitions, or modify OpenCode's agent configuration. Users manage their own prompts and permissions, and Plannotator stays out of the way. To enable it, set workflow: "user-managed" in your opencode.json plugin options.
Existing configurations are unaffected. The default remains plan-agent, and unknown workflow strings continue to fall back to it.
Pi Model Switch on Plan Approval
When Pi users configured separate models for planning and execution (e.g., think with one model, execute with another), approving a plan was supposed to switch to the execution model. It didn't. Pi snapshots its model selection at the start of each agent.prompt() call, so calling pi.setModel() mid-loop had no effect until the next user-initiated turn. The user had to manually prompt the agent after every approval to trigger the switch.
The fix terminates the current agent loop on plan approval by returning terminate: true from the tool response, then uses a deferred sendUserMessage in the agent_end handler to start a fresh turn that picks up the executing model. Execution now continues automatically on the correct model without manual intervention.
- #677 by @backnotprop, closing #674 (reported by @snowmead)
Bypass Permissions with /clear Reminder
Claude Code's bypass-permissions mode skips the permission prompt on plan approval, but users often forget to run /clear afterward to reset context. A new "Bypass + /clear Reminder" option in the permission mode dropdown pairs bypass-permissions with a system message nudging the user to clear context after approval.
The mode is available in both the Settings dropdown and the Approve button's extra options. It decomposes to the standard bypassPermissions wire value plus a clearContextNudge flag, so the hook output format is unchanged. Cookie validation was also hardened in this PR: stale or invalid permission mode values now safely fall back to the default instead of flowing through unchecked.
Additional Changes
- Remove shimmer animation from clickable file paths. The repeating shimmer on
.code-file-linkelements was distracting while reading plans. File path links now render as normal inline code with cursor and hover cues only. (#676 by @backnotprop, closing #672 reported by @academo) - Install Plannotator command skills under Codex home. The installer now places command-overlap skills (
plannotator-review,plannotator-annotate,plannotator-last) in~/.codex/skills/when Codex is detected, and keeps shared-agent skills in~/.agents/skills/. Stale cross-scope copies are cleaned up, and a~/.codex/skills/directory created by a previous install no longer triggers false Codex detection. (#669 by @backnotprop) - Avoid Pi bundled skill conflicts. The installer configures Pi's
settings.jsonto disable bundled Plannotator skills when shared global skills are already installed, eliminating "duplicate skill" warnings. BOM-free UTF-8 writes on Windows prevent encoding issues with Pi's JSON parser.
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(opencode-plugin): add user-managed workflow mode by @saksmt in #667
- feat: expose bypass clear reminder permission mode by @AgileInnov8tor in #668
- fix: install Plannotator command skills under Codex home by @backnotprop in #669
- fix(ui): remove shimmer animation from clickable file paths by @backnotprop in #676
- fix(pi): terminate agent loop on plan approval so model switch takes effect by @backnotprop in #677
New Contributors
- @saksmt made their first contribution in #667
- @AgileInnov8tor made their first contribution in #668
Contributors
@saksmt identified the gap between OpenCode's manual and automated workflow modes and contributed the user-managed option (#667), giving users fine-grained control over prompt injection and tool registration. First contribution to the project.
@AgileInnov8tor built the bypass-with-clear-reminder permission mode (#668), including the synthetic mode decomposition, cookie validation hardening, and the live settings sync fix. First contribution to the project.
Community members whose reports drove fixes in this release:
- @snowmead: #674 (Pi model switch not taking effect on plan approval)
- @academo: #672 (shimmer animation distracting on file path links)
Full Changelog: v0.19.8...v0.19.9