github backnotprop/plannotator v0.19.9

latest release: v0.19.10
13 hours ago

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.

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-link elements 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.json to 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 | bash

Windows:

irm https://plannotator.ai/install.ps1 | iex

Claude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".

OpenCode: Clear cache and restart:

rm -rf ~/.bun/install/cache/@plannotator

Then in opencode.json:

{
  "plugin": ["@plannotator/opencode@latest"]
}

Pi: Install or update the extension:

pi install npm:@plannotator/pi-extension

What'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

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

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.