github backnotprop/plannotator v0.14.2

latest release: v0.14.3
14 hours ago

Follow @plannotator on X for updates


Missed recent releases?
Release Highlights
v0.14.1 Single submit_plan with auto-detect, viewed-file draft persistence, Bear nested tag fix
v0.14.0 PR review via GitHub URL, /plannotator-last for annotating agent messages, OpenCode plan mode permissions fix, VS Code SSH proxy fix
v0.13.1 OpenCode plan mode rewrite, Obsidian save fix
v0.13.0 Built-in themes, annotatable plan diffs, file-scoped code review comments, Octarine integration, unified review core, Pi remote sessions
v0.12.0 Quick annotation labels, mobile compatibility, Graphviz rendering, markdown images with lightbox, linked doc navigation in annotate mode
v0.11.4 Git add from code review, bidirectional scroll navigation, clipboard paste for annotation images, VS Code IPC port stability
v0.11.3 Expandable diff context, hierarchical folder tree, redesigned worktree controls, supply chain hardening
v0.11.2 Git worktree support in code review, VS Code editor annotations in review, Obsidian auto-save & separator settings, session discovery, smart file resolution
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

What's New in v0.14.2

v0.14.2 is a stability patch with two fixes. It addresses OpenCode plan mode agents going rogue on feedback rounds, and fixes /plannotator-last failing on Windows when the project path contains non-ASCII characters.

OpenCode: Replace Plan Mode Prompt Instead of Stripping It

v0.14.1 simplified the submit_plan tool, but the prompt handling had a deeper problem. The messages.transform hook was stripping OpenCode's entire plan mode directive from the system prompt. That directive tells the agent what it cannot do during planning. With it gone, agents had no guardrails and began writing Python scripts via Bash to work around edit restrictions.

This release changes the approach: instead of removing OpenCode's prompt, Plannotator now replaces it with a tailored version. The replacement keeps the STRICTLY FORBIDDEN language for non-markdown edits and destructive bash commands, but explicitly allows .md file writing for plans, specs, and docs. The exploration-first workflow and source code protection remain intact.

The difference is subtle but load-bearing. Stripping the prompt left a gap that models filled with creative workarounds. Replacing it gives them clear boundaries that include the plan file exception.

Annotate-Last on Windows with Non-ASCII Paths

/plannotator-last reads Claude Code's session logs to find the last rendered assistant message. It locates the correct session directory by matching the current working directory against Claude Code's project slug format. The slug generation logic was only replacing / characters, but Claude Code normalizes paths more aggressively: any character outside [a-zA-Z0-9-] becomes a hyphen.

This mismatch caused /plannotator-last to silently fail on Windows paths containing Cyrillic characters, underscores, or spaces. The fix aligns projectSlugFromCwd with Claude Code's actual normalization regex and adds a case-insensitive fallback for directory lookup to handle Windows drive letter casing differences (C: vs c:).

Additional Changes

  • Fix broken Pi coding agent link in the Pi extension README. Authored by @blissdev in #337.

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

  • docs: update link to the Pi coding agent by @blissdev in #337
  • fix: align projectSlugFromCwd with Claude Code's path normalization by @backnotprop in #340
  • fix: replace plan mode prompt instead of stripping it by @backnotprop in #341

New Contributors

Community

@ilmpc identified the root cause of the plan mode prompt issue in #328, reporting that agents were writing Python scripts to bypass edit restrictions after the prompt was stripped. That diagnosis directly shaped the fix in #341. @rcdailey contributed additional feedback in the same thread about submit_plan visibility across agents. @linxi-1214 also reported submit_plan not appearing in #328.

@axelboman277 filed a detailed bug report for the Windows non-ASCII path failure in #339, including the exact Cyrillic path and environment details that made the fix straightforward to verify.

Full Changelog: v0.14.1...v0.14.2

Don't miss a new plannotator release

NewReleases is sending notifications on new releases.