github backnotprop/plannotator v0.19.22

15 hours ago

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

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

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.