Follow @plannotator on X for updates
Missed recent releases?
| Release | Highlights |
|---|---|
| v0.19.21 | Ask AI in plan review and annotate mode, shared AI runtime, origin-aware provider defaults |
| v0.19.20 | Interactive goal setup UI, OpenCode submit_plan fixes, browser no-op sentinel handling for Claude agents |
| v0.19.18 | Edit-based submit_plan for OpenCode, Pi namespace migration, Codex annotate-last fix, OpenCode commands dir fix |
| v0.19.17 | Reworked goal setup skill (interview-driven flow), CLI --version flag |
| v0.19.16 | Code navigation with peek view (Cmd/Ctrl+click tokens in diffs) |
| v0.19.15 | Commit-based diff base, jj evolution diffs, GitLab reliability fixes, OpenCode command intercept fix |
| v0.19.14 | Visual explainer skill update, PFM code-file hover previews, Graphviz, diff tab size and line bg intensity, hooks settings tab |
| v0.19.11 | Jujutsu (jj) VCS backend, slimmer hunk separators, collapse viewed files, multi-line gutter selection fix |
| v0.19.9 | OpenCode user-managed workflow, Pi model switch fix, Codex skill install, shimmer removal |
| v0.19.8 | 49 themes with syntax highlighting, keyboard shortcut registry, smart code-file path validation, remote URL notifications |
What's New in v0.19.22
v0.19.22 fixes Safari clipboard handling in plan review and adds support for custom Claude config directories. Two PRs, one closing a community feature request.
Safari Copy Fix in Plan Viewer
Cmd+C (or Ctrl+C) was silently failing in Safari when copying selected text from the plan viewer. Two things combined to break it: web-highlighter clears the DOM selection on mouseup (so the browser has nothing to copy by the time the keyboard shortcut fires), and Safari rejects async navigator.clipboard.writeText() calls outside the synchronous user-gesture window.
The fix replaces the keydown handler with a native copy event listener that calls e.clipboardData.setData() synchronously. This works across all browsers. On touch devices where keyboard copy is less common, the toolbar's copy button remains visible and uses an execCommand fallback for extra safety.
Support for CLAUDE_CONFIG_DIR
Session log discovery for plannotator last now reads the CLAUDE_CONFIG_DIR environment variable when resolving the sessions/ and projects/ directories. Users who relocate their Claude Code config directory (common in container and multi-user setups) no longer need to work around hardcoded ~/.claude/ paths. When the variable is not set, behavior is unchanged.
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 copy (Cmd+C) broken in Safari on plan viewer by @backnotprop in #785
- fix: honor CLAUDE_CONFIG_DIR in session log discovery by @backnotprop in #786
Community
@BenNewman100 filed #783 requesting support for CLAUDE_CONFIG_DIR in session log paths, which ships in this release.
Full Changelog: v0.19.21...v0.19.22