Skip to content

chore(deps): update ⬆️ mise-packages - #1106

Merged
renovate[bot] merged 2 commits into
mainfrom
renovate/mise-packages
Oct 9, 2026
Merged

renovate[bot] merged 2 commits into
mainfrom
renovate/mise-packages

Conversation

@renovate

@renovate renovate Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change Pending Age Adoption Passing Confidence
aqua:astral-sh/uv tools patch 0.12.22 → 0.12.23 0.12.24 age adoption passing confidence
aqua:borghei/ink tools minor 0.10.0 → 0.11.1 age adoption passing confidence
aqua:dandavison/delta tools minor 0.19.2 → 0.20.1 age adoption passing confidence
aqua:nushell/nushell tools patch 0.116.0 → 0.116.1 age adoption passing confidence
droid (source) minor 0.233.0 → 0.234.0 0.237.0 (+2) age adoption passing confidence
github:anthropics/claude-code tools patch v2.1.288 → v2.1.289 v2.1.295 (+5) age adoption passing confidence
github:backnotprop/plannotator tools minor v0.27.25 → v0.28.3 v0.28.8 (+4) age adoption passing confidence
npm:ctx7 (source) tools patch 0.5.12 → 0.5.13 0.5.15 (+1) age adoption passing confidence

Release notes are maintained in a PR comment by the renovate-release-notes-comment workflow.


Configuration

📅 Schedule: (in timezone America/Los_Angeles)

  • Branch creation
    • Between 03:00 AM and 05:59 AM (* 3-5 * * *)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from scottames as a code owner October 9, 2026 10:31
@renovate renovate Bot added the dependencies label Oct 9, 2026
@renovate
renovate Bot enabled auto-merge (squash) October 9, 2026 10:31
@scottames-github-bot

Copy link
Copy Markdown
Contributor

Renovate Release Notes

Generated from Renovate's update table by the renovate-release-notes-comment workflow.

Packages that cannot be summarized from GitHub releases are listed explicitly below.

astral-sh/uv (aqua:astral-sh/uv)

0.12.23: 0.12.23

Compare Source

Release Notes

Released on 2026-10-03.

Python

  • Add CPython 3.15.0rc3 (#22164)

Preview features

  • Sync from uv.lock without a workspace manifest using uv sync --frozen with frozen-lockfile (#22018)
  • Export from uv.lock without a workspace manifest using uv export --frozen with frozen-lockfile (#22007)
  • Inspect dependency trees from uv.lock without a workspace manifest using uv tree --frozen with frozen-lockfile (#22016)
  • Inspect workspace metadata and optionally sync its environment from uv.lock without a workspace manifest using uv workspace metadata --frozen with frozen-lockfile (#22017, #22018)

Bug fixes

  • Reject alternate sources for workspace members across conflicting dependency selections, avoiding lockfiles that cannot be installed (#22153)
  • Allow x86-64 Python interpreters running under emulation on Windows ARM64 to install compatible win_amd64 wheels instead of building from source (#22099)

Install uv 0.12.23

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.23/uv-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.23/uv-installer.ps1 | iex"

Download uv 0.12.23

File Platform Checksum
uv-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
uv-x86_64-apple-darwin.tar.gz Intel macOS checksum
uv-aarch64-pc-windows-msvc.zip ARM64 Windows checksum
uv-i686-pc-windows-msvc.zip x86 Windows checksum
uv-x86_64-pc-windows-msvc.zip x64 Windows checksum
uv-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
uv-i686-unknown-linux-gnu.tar.gz x86 Linux checksum
uv-powerpc64le-unknown-linux-gnu.tar.gz PPC64LE Linux checksum
uv-riscv64gc-unknown-linux-gnu.tar.gz RISCV Linux checksum
uv-s390x-unknown-linux-gnu.tar.gz S390x Linux checksum
uv-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum
uv-armv7-unknown-linux-gnueabihf.tar.gz ARMv7 Linux checksum
uv-aarch64-unknown-linux-musl.tar.gz ARM64 MUSL Linux checksum
uv-i686-unknown-linux-musl.tar.gz x86 MUSL Linux checksum
uv-riscv64gc-unknown-linux-musl.tar.gz RISCV MUSL Linux checksum
uv-x86_64-unknown-linux-musl.tar.gz x64 MUSL Linux checksum
uv-arm-unknown-linux-musleabihf.tar.gz ARMv6 MUSL Linux (Hardfloat) checksum
uv-armv7-unknown-linux-musleabihf.tar.gz ARMv7 MUSL Linux checksum

Verifying GitHub Artifact Attestations

The artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI:

gh attestation verify <file-path of downloaded artifact> --repo astral-sh/uv

You can also download the attestation from GitHub and verify against that directly:

gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>
borghei/ink (aqua:borghei/ink)

v0.11.1: v0.11.1

Compare Source

What's Changed

Full Changelog: borghei/ink@v0.11.0...v0.11.1

v0.11.0: v0.11.0

Compare Source

What's Changed

Full Changelog: borghei/ink@v0.10.0...v0.11.0

dandavison/delta (aqua:dandavison/delta)

0.20.1: 0.20.1

Compare Source

Patch release fixing #2270

0.20.0: 0.20.0

Compare Source

This release adds support for the OSC1717 diff-line metadata spec by @​stefanhaller. This is an exciting change: it allows TUIs such as lazygit to use delta to render diffs in a UI with keybindings for staging/unstaging etc, with the delta rendering able to use arbitrary features such as side-by-side mode and decorations.

This release also looks to be the beginning of AI-generated code in delta. Most of the PRs in this release had large amounts of AI agent-assistance, e.g. #2181, #2261, #2266, #2199, #2240. One looks to have been contributed directly by an AI agent.

What's Changed

New Contributors

Full Changelog: dandavison/delta@0.19.2...0.20.0

nushell/nushell (aqua:nushell/nushell)

0.116.1: 0.116.1

Compare Source

This is the 0.116.1 release of Nushell. You can learn more about this release here: https://www.nushell.sh/blog/2026-10-04-nushell_v0_116_1.html

For convenience, we are providing full builds for Windows, Linux, and macOS. Be sure you have the requirements to enable all capabilities: https://www.nushell.sh/book/installation.html#dependencies

This release was made possible by PR contributions from @​app/dependabot, @​cptpiepmatz, @​fdncred, @​kronberger-droid

anthropics/claude-code (github:anthropics/claude-code)

v2.1.289: v2.1.289

Compare Source

What's changed

  • Fixed a deny or ask rule on a nested part of a compound shell command not holding over a user-installed mod's approval on managed machines
  • Fixed the terminal freezing on short code blocks with many unclosed <script> tags or deeply nested ${ substitutions
  • Fixed Read deny rules not applying to files @​-mentioned, changed, or selected in the IDE through a symlink
  • [VSCode] Reverted a 2.1.288 change to claude auth status that may have made sign-outs more frequent
  • Improved how quickly large files open in a plugin code pane by laying the highlighted view out once at its final width
  • Fixed plugin list, plugin eval and plugin update showing a stale copy of a plugin installed from a local folder marketplace, and hot reload for a symlinked --plugin-dir
  • Fixed installed mods not loading in the first session after an upgrade
  • Fixed a plugin's rows above the prompt showing a stale row while the Background tasks dialog was open in fullscreen
  • Fixed plugin panes drawing nothing when a link used a localhost address, an @&#8203; in its path, an uppercase host or a file: path
  • Fixed a user-installed plugin being able to rewrite the descriptions of an organization-managed MCP server's sign-in tools
  • Fixed a freeze or forced quit at launch when a plugin drew a Box with a border style the terminal does not know
  • Fixed supervised and background sessions ending when a plugin's on-screen handler threw asynchronously
  • Fixed sessions ending with an interface error when a plugin region with no height kept growing
  • Fixed Bash deny and ask rules missing a command behind an environment variable prefix with an expanded value (e.g. TZ="$HOME" rm -rf build) when the sandbox auto-allows commands
  • Fixed a Bash deny or ask rule being skipped under sandbox auto-allow when a bare variable assignment came before the command
  • Fixed claude plugin validate skipping the plugin when the folder also holds a marketplace manifest
  • Added agent.spawn for teammates, one agent id across plugin hook events, and idle and waiting states in $.agent.list()
  • Fixed sessions ending with "unrecoverable interface error" when a value a mod's ui.render hook wrote made a row throw while drawn; the engine now draws its own row instead
  • Fixed text with a tab, a stray escape and a C1 control, or a short text with a tab and CRLF line endings, drawing over the rows below it
  • Fixed right-aligned content in a mod's pane or band drawing under the close mark or [-], which now also keep one column in from the terminal's edge
  • Fixed a mod's Client that fails while drawn taking down everything the mod drew around it; it now fails alone and raises ui.fault
  • Fixed claude plugin validate failing an Anthropic marketplace's own plugin and listing a clean plugin.json in --json
  • Fixed a mod's band that fails to draw briefly telling the cards under it to step aside
  • Fixed a failed plugin component showing Error or nothing as its reason when the failure carried no message
  • Improved the line a mod's author sees when its band or pane fails to draw: it names the mod and says nothing was drawn
  • Fixed published artifact pages freezing or crashing the reader's browser tab on short code blocks with many unclosed <script> tags
  • Fixed a mod's Client region staying failed for the whole session after the terminal threw while drawing it

@scottames-github-bot

Copy link
Copy Markdown
Contributor
backnotprop/plannotator (github:backnotprop/plannotator)

v0.28.3: v0.28.3

Compare Source

Follow @​plannotator on X for updates

Missed recent releases?

Release Highlights
v0.28.2 Question cards show wrapped choices and tables, pinned images named by their file, Done with nothing to send starts no agent turn
v0.28.1 Ask AI from diagram comments, pinned images named for the agent, OpenCode 1 URL toasts and one reply per feedback, folder feedback sent once
v0.28.0 Ask this session in Claude Code, Pi and OpenCode 2, Claude Code mod on by default, Pi plan review no longer blocks, first-run demo
v0.27.25 Code review works with color.diff = always, Bitbucket review fixes, wide tables no longer collapse in Firefox, install script fix
v0.27.24 Image previews stay in the all-files view, PR comment previews open on the commented line
v0.27.23 Bitbucket Cloud PR review, Question UI for answering agents in place, opt-in auto-update, viewed files remembered, review another repo or worktree
v0.27.22 Plans open the docs they link to, Claude review jobs locked down, Code Tour on Linux without Claude's sandbox, Pi reviews the latest plan
v0.27.21 Remote and phone sessions load several times faster, real Request changes on GitHub, model pickers show real names, OpenCode fixes
v0.27.20 Mistral Vibe support, annotate gets the full Options menu and Settings, jj Commits panel, long lines wrap in plan code blocks
v0.27.19 Before/After image previews in code review, file comments as GitHub file threads, forge-correct #123 links, /plannotator-last finds the right session
v0.27.18 Model pickers from your installed Claude and Codex (Opus 5.5, Fable 5.1, GPT-6), unsent PR review comments survive new pushes

What's New in v0.28.3

A focused fix for Ask this session, the 0.28 feature that sends Ask AI questions to the agent session that opened Plannotator.

Typing into your agent while it answers no longer streams into Plannotator

When you asked a question from Plannotator's Ask AI and then typed into the agent yourself while it was answering, the agent's reply to your message streamed into the Ask AI panel as if it were the answer, and a Stop in Plannotator could cancel your own work in the agent.

Now, as soon as a message Plannotator did not send enters that turn, Plannotator stops streaming. It keeps the part of the answer it already had and adds a short note ("You typed into this session while it was answering, so the rest of the reply went to your prompt", or a neutral version when it was not you). After that, Stop only closes the question in Plannotator, and "Interrupt and ask now" will not stop the agent, so whatever you asked runs to completion.

This works the same way on Claude Code (with the Plannotator mod), Pi and OpenCode 2. It is careful about what counts:

  • If the agent had already finished its answer when your message arrived, the question keeps the full answer.
  • Agent-side events do not count: a background task finishing on Claude Code, OpenCode's own notices and compaction steps, Plannotator's own notices on Pi, and messages from other Claude sessions.
  • On Pi, the protection holds while Pi retries after an error.
  • With an older plannotator binary, the plugin settles the question with the partial answer and the note instead of an error.

(#1703)

Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

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

Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

claude plugin marketplace update plannotator
claude plugin update plannotator@&#8203;plannotator

Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.

Pi:

pi update --extensions

OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

What's Changed

  • fix(ask): a prompt typed into an Ask-this-session turn takes it over on every host by @​backnotprop in #1703

Full Changelog: backnotprop/plannotator@v0.28.2...v0.28.3

v0.28.2: v0.28.2

Compare Source

Follow @​plannotator on X for updates

Missed recent releases?

Release Highlights
v0.28.1 Ask AI from diagram comments, pinned images named for the agent, OpenCode 1 URL toasts and one reply per feedback, folder feedback sent once
v0.28.0 Ask this session in Claude Code, Pi and OpenCode 2, Claude Code mod on by default, Pi plan review no longer blocks, first-run demo
v0.27.25 Code review works with color.diff = always, Bitbucket review fixes, wide tables no longer collapse in Firefox, install script fix
v0.27.24 Image previews stay in the all-files view, PR comment previews open on the commented line
v0.27.23 Bitbucket Cloud PR review, Question UI for answering agents in place, opt-in auto-update, viewed files remembered, review another repo or worktree
v0.27.22 Plans open the docs they link to, Claude review jobs locked down, Code Tour on Linux without Claude's sandbox, Pi reviews the latest plan
v0.27.21 Remote and phone sessions load several times faster, real Request changes on GitHub, model pickers show real names, OpenCode fixes
v0.27.20 Mistral Vibe support, annotate gets the full Options menu and Settings, jj Commits panel, long lines wrap in plan code blocks
v0.27.19 Before/After image previews in code review, file comments as GitHub file threads, forge-correct #123 links, /plannotator-last finds the right session
v0.27.18 Model pickers from your installed Claude and Codex (Opus 5.5, Fable 5.1, GPT-6), unsent PR review comments survive new pushes
v0.27.17 Diagram files open in the diagram viewer, OpenCode switches model with agent, idle review stops polling the git remote, Tree is the default review view

What's New in v0.28.2

v0.28.2 is a patch release with three pull requests, all from @​backnotprop. It fixes question cards that cut off wrapped choices, makes image pins in HTML pages name the right file, and stops Done with nothing to send from starting an agent turn.

Question cards show wrapped choices and block markdown

Choices written as plain bullets that wrap onto several lines were cut at the first line, and the rest of each choice ended up in the question's text above the options. They now show in full: the first phrase is the label and the rest is the description. A Recommended: line that wraps is read as a whole, and a recommendation that names a choice in its first sentence marks that choice. Choices written as task-list items (- [ ]) split as before.

The text of a question now renders like the rest of the document. Tables were a flat run of pipes; tables, lists, code blocks, quotes and images inside a question now look as they do in the plan or file. Comments on a table cell or code line inside a question attach to the question card and restore after a reload.

Answers you saved on 0.28.1 still show the choice you picked, and a recommendation that names a lettered option (b. …) marks that option.

#1699, #1702

Image pins name the file the page shows

When you pin an image in an HTML page, the feedback heading names the file the page displays even when the image has no src attribute. This covers srcset, lazy-loaded data-src images, <picture> and a video's poster or <source>. Before, the heading named nothing or a data: placeholder. Query strings are still dropped from the name.

Comments made in the version diff are now listed after the document's other comments, in diff order, instead of first. Exports without diff comments are unchanged.

#1700

Done with nothing to send starts no agent turn

Clicking Done in an annotate session with no annotations used to make the agent start a turn that read "User reviewed the document and has no feedback. Please address the annotation feedback above." That no longer happens on Claude Code (with the mod), Pi, OpenCode 1 and 2, Amp and Droid. The session closes, the host logs that nothing was sent, and the agent is not prompted. /plannotator-last behaves the same way.

The Plannotator binary must be updated for this: the 0.28.0 and 0.28.1 binaries do not send the signal, so Claude Code, OpenCode's CLI bridge, Amp and Droid keep the old behavior until you run the install script. Pi and the OpenCode embedded runtime ship their own server, so the plugin update is enough. Hosts that run Plannotator through a skill (Codex, Gemini, and Claude Code with the mod off) still pass the same sentence on, unchanged. For scripts, annotate --json gains an additive nothingToSend: true field in this case; other output is unchanged.

Counting is fixed too. In a folder annotate session, the "N comments" figure, the host record and the feedback history counted only the open document's comments. They now count every document's comments. The same fix applies to /plannotator-last with several messages selected, which also now includes comments posted by outside tools (agents, WebMCP); before, those were missing from the exported feedback. The feedback history records which document each comment belongs to.

#1701


Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

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

Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

claude plugin marketplace update plannotator
claude plugin update plannotator@&#8203;plannotator

Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.

Pi:

pi update --extensions

OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

What's Changed

  • fix(questions): plain-bullet choices keep their wrapped lines; question context renders block markdown by @​backnotprop in #1699
  • fix(questions): answers saved under a 0.28.1 label still show their pick by @​backnotprop in #1702
  • fix(export): image headings name the resolved file; diff comments sort after the document by @​backnotprop in #1700
  • fix(annotate): a bare Done starts no agent turn on any plugin host; submits count every document's and message's comments by @​backnotprop in #1701

Full Changelog: backnotprop/plannotator@v0.28.1...v0.28.2

v0.28.1: v0.28.1

Compare Source

Follow @​plannotator on X for updates

Missed recent releases?

Release Highlights
v0.28.0 Ask this session in Claude Code, Pi and OpenCode 2, Claude Code mod on by default, Pi plan review no longer blocks, first-run demo
v0.27.25 Code review works with color.diff = always, Bitbucket review fixes, wide tables no longer collapse in Firefox, install script fix
v0.27.24 Image previews stay in the all-files view, PR comment previews open on the commented line
v0.27.23 Bitbucket Cloud PR review, Question UI for answering agents in place, opt-in auto-update, viewed files remembered, review another repo or worktree
v0.27.22 Plans open the docs they link to, Claude review jobs locked down, Code Tour on Linux without Claude's sandbox, Pi reviews the latest plan
v0.27.21 Remote and phone sessions load several times faster, real Request changes on GitHub, model pickers show real names, OpenCode fixes
v0.27.20 Mistral Vibe support, annotate gets the full Options menu and Settings, jj Commits panel, long lines wrap in plan code blocks
v0.27.19 Before/After image previews in code review, file comments as GitHub file threads, forge-correct #123 links, /plannotator-last finds the right session
v0.27.18 Model pickers from your installed Claude and Codex (Opus 5.5, Fable 5.1, GPT-6), unsent PR review comments survive new pushes
v0.27.17 Diagram files open in the diagram viewer, OpenCode switches model with agent, idle review stops polling the git remote, Tree is the default review view
v0.27.16 Themed diagrams on Mermaid 12, comment on any node or edge, patch-file review, embedded HTML documents render

What's New in v0.28.1

v0.28.1 is a patch release with five pull requests, all from @​backnotprop. It fixes feedback that was exported twice in folder annotate sessions, adds Ask AI to diagram comments, makes image pins in HTML pages say which image they point at, and fixes three OpenCode problems found while testing v0.28.0.

Folder annotate no longer sends each comment twice

In a folder annotate session, every comment on the open file was exported twice: once under "Folder Feedback" and again under "Linked Document Feedback". The second copy was also a weaker one. It was sorted by block id as text (block 10 before block 2) and left out the [In diff content] label, quick-label headings and tips, the Label Summary, and reply threading. This affected every host, because the export is built in the browser.

Each comment now appears once, in document order, with full detail. In a folder session the section is titled "Folder Document Feedback" and lists each file with its comments under its path. The same fix covers two related cases:

  • Plan review submitted while a linked document was open dropped the plan's own comments. They are now included.
  • When a file session opened a copy of its own page (a "Home" link, for example), comments on that copy were dropped from the export while a linked document was open. They are now exported under that file's path.

Plain plan review output is unchanged for comments, deletions and general feedback.

#1696

Ask AI from a diagram comment

The comment box on a Mermaid or Graphviz diagram now has an Ask AI button, next to Cancel and Comment. It works inline and in the popout, for diagrams in fenced code blocks and for diagram files (.mmd, .dot). The button is disabled until you type a question, and Enter still posts the comment.

The question carries the node, edge or cluster you clicked, its line in the document, the diagram type, and an excerpt of the diagram source with line numbers. The excerpt is capped at 40 lines or 4000 characters and always includes the part you picked. Asking from the popout closes the popout, so the answer in the panel is visible.

#1695

Pinning an image tells the agent which image

In HTML annotate, pinning an image or another element with no text recorded only its kind, as [element: Image]. Ask this session answered that it could see an image was selected but not which one.

The description now includes the element's label, its accessible name (aria-label, alt text, title) and, for media, the file name: [element: Image "Team photo" (team.jpg)], [element: Button "Open menu"], [element: Frame (prototype.html)]. Query strings are dropped and a data: URL is shortened to its media type. This appears in the comment, in the exported feedback, and in Ask AI questions, which now also include the pinned element's details. In HTML file sessions, image paths are reported as written in the page (office.png) instead of Plannotator's internal asset URL. Pins saved earlier still restore.

#1694

OpenCode fixes

Three problems found while testing v0.28.0:

  • OpenCode 1 shows the session URL for commands. /plannotator-review, /plannotator-annotate and /plannotator-last only wrote the URL to OpenCode's log file, so a remote or SSH user never saw it. They now show it in a toast, the way plan review already did, in local and remote mode.
  • OpenCode 1 answers once per feedback. OpenCode 1 always runs a turn on the command's own message, and Plannotator was emptying that message and sending the feedback separately, so the model replied twice. The feedback now rides on the command's own message, and the agent and model are the same as before. A command with nothing to send (Close, or Done with no notes) still runs one turn on an empty message; OpenCode 1 gives plugins no way to skip it.
  • OpenCode 2 no longer feeds the "session ready" notice to the model. After a plan decision, the model could answer with Plannotator session ready: <url> instead of your feedback. The notice stays visible in the transcript but is removed from what the model receives.

Commands you run afterwards still go to the agent you ran them on, as in 0.28.0.

#1697, #1698

Additional Changes

  • Comment box trimmed. The ⌘↵ / Ctrl+Enter hint is gone from the comment box (the shortcut still works), and HTML pages no longer show a "Looks good" button in the comment box. To leave a thumbs-up on an HTML page, select text and use the 👍 in the toolbar. (#1693)

Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

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

Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

claude plugin marketplace update plannotator
claude plugin update plannotator@&#8203;plannotator

Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.

Pi:

pi update --extensions

OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

What's Changed

  • fix(ui): drop the ⌘↵ hint from the comment popover and the composer's Looks good on HTML by @​backnotprop in #1693
  • fix(annotate): tell the agent which image (or element) a pinpoint points at by @​backnotprop in #1694
  • feat(diagrams): Ask AI from a diagram comment by @​backnotprop in #1695
  • fix(annotate): folder sessions export each comment once by @​backnotprop in #1696
  • fix(opencode): remote URL toasts on OpenCode 1, one turn per feedback, notice ordering by @​backnotprop in #1697
  • fix(opencode): keep the user's agent for follow-up OpenCode 1 commands by @​backnotprop in #1698

Full Changelog: backnotprop/plannotator@v0.28.0...v0.28.1

v0.28.0: v0.28.0

Compare Source

Follow @​plannotator on X for updates

Missed recent releases?

Release Highlights
v0.27.25 Code review works with color.diff = always, Bitbucket review fixes, wide tables no longer collapse in Firefox, install script fix
v0.27.24 Image previews stay in the all-files view, PR comment previews open on the commented line
v0.27.23 Bitbucket Cloud PR review, Question UI for answering agents in place, opt-in auto-update, viewed files remembered, review another repo or worktree
v0.27.22 Plans open the docs they link to, Claude review jobs locked down, Code Tour on Linux without Claude's sandbox, Pi reviews the latest plan
v0.27.21 Remote and phone sessions load several times faster, real Request changes on GitHub, model pickers show real names, OpenCode fixes
v0.27.20 Mistral Vibe support, annotate gets the full Options menu and Settings, jj Commits panel, long lines wrap in plan code blocks
v0.27.19 Before/After image previews in code review, file comments as GitHub file threads, forge-correct #123 links, /plannotator-last finds the right session
v0.27.18 Model pickers from your installed Claude and Codex (Opus 5.5, Fable 5.1, GPT-6), unsent PR review comments survive new pushes
v0.27.17 Diagram files open in the diagram viewer, OpenCode switches model with agent, idle review stops polling the git remote, Tree is the default review view
v0.27.16 Themed diagrams on Mermaid 12, comment on any node or edge, patch-file review, embedded HTML documents render
v0.27.15 Plannotator TUI and Herdr Annotate announcement, element context on pinpoints, HTML links open as linked documents, All files panel, Classic diff default

What's New in v0.28.0

Plannotator now connects to the agent session that opened it. Ask AI can be answered by your Claude Code, Pi, or OpenCode 2 session instead of a separate AI, and in Claude Code and Pi the agent no longer sits waiting while you review: your decision arrives later as a message. This release has 24 pull requests, two of them from community contributors, including one first-time contributor.

Ask this session

When Plannotator was opened by Claude Code, Pi, or OpenCode 2, a question you ask in Ask AI goes to that agent session. It shows up in the agent's chat as a real turn, the agent answers with the context it already has and can use its own tools, and the answer streams back into the Ask AI panel. The panel reads "Ask this session · Claude Code" (or Pi, or OpenCode).

When a session is connected, it is the only Ask AI option, so there is no provider or model picker. A provider you saved earlier is left alone and still applies in sessions without a connection, and Review Agents, Code Tour, and Guided Review keep their own model pickers. If the agent is busy, you can choose "Ask when it finishes" or "Interrupt and ask now". Stopping a question cancels only that question; Plannotator never interrupts a turn on its own. If the session has ended, Ask AI says it can no longer reach it.

Where it works:

  • Claude Code: plan review, code review, annotate, and /plannotator-last, through the Claude Code mod described below.
  • Pi: plan review, code review, annotate, and /plannotator-last.
  • OpenCode 2: code review, annotate, and /plannotator-last as real turns. During plan review OpenCode is still waiting on submit_plan, so Ask AI gives a "Quick answer from this session" from the conversation, without tools, and writes nothing to the transcript.
  • Not connected: OpenCode 1, Claude Code without the mod, remote mode, and --tailscale sessions. These keep the separate AI providers exactly as before.

The first time you open Plannotator from a connected session, a short panel with a demo video explains the feature. It appears once, only when the session really is connected, and only before you start working on the page. It links to the Ask this session guide.

(#1668, #1671, #1685, #1690)

Claude Code no longer waits while you review

On Claude Code 2.1.287 and later, in the interactive terminal, the Plannotator plugin now runs as a Claude Code mod, and it is on by default. Plan review, /plannotator-review, /plannotator-annotate, and /plannotator-last open in the browser and hand control back to Claude right away. When you decide, the decision arrives in the chat as a message from the plannotator plugin, and Claude acts on it. While the review is open you can keep talking to Claude, and Ask this session works.

Plan review under the mod works like this:

  • When Claude calls ExitPlanMode, the review opens and Claude is told the plan is not approved yet. Plan mode stays on.
  • If Claude revises the plan while the review is open, the same tab updates to the new version and keeps your comments. A decision made on an older version is refused, and the tab loads the new one so you can decide again.
  • After you approve, Claude calls ExitPlanMode once more and proceeds with the exact text you approved, in the permission mode you picked.
  • Denials and answered questions arrive as messages, using the same prompts as before.

Decisions with nothing to send (Done with no comments, an LGTM, Close) only log a line and do not start a turn. Feedback over 12 KB is saved to a file that Claude is told to read. /plannotator-last keeps its picker of recent messages, so you can still annotate an earlier reply. Review servers keep running if Claude Code exits: run claude --continue or --resume, and the decision is delivered into that session.

Older Claude Code, -p and SDK sessions, and Windows keep the classic flow, unchanged. To turn the mod off, set PLANNOTATOR_CLAUDE_MOD=0 or add { "claudeCodeMod": false } to ~/.plannotator/config.json; it takes effect the next time Claude Code starts. The plugin and the plannotator binary update separately, so update both (see Install / Update below). With an older binary, plan review falls back to the classic blocking review and Claude Code shows one line asking you to update; review, annotate, and last still open, without Ask this session.

(#1672, #1686, #1684, #1691)

Claude opens Plannotator through a tool instead of Bash

Asking Claude to "open this in plannotator" used to make it run the CLI through Bash, which blocked Claude and left Ask AI on a separate AI. Under the mod, Claude now has a plannotator tool for annotate, review, and last. It opens Plannotator exactly the way the slash commands do and returns at once, and the decision arrives later as a message. With gate: true, an approval is sent back too, so Claude can continue once you sign off. The plannotator skill now tells agents to always use the tool when they have it, including for approvals. The installer refreshes the skill.

Claude still sometimes reaches for the CLI. When it runs a simple command such as plannotator annotate notes.md --gate --json in the main session, the mod now opens it the same way the tool does. Only plain annotate <file> (with --gate or --markdown), review (with an optional target and --base), and last are taken over. Anything with other flags, shell syntax, an environment prefix, or a path to a dev build runs the real CLI, so scripts that depend on --require-approval or --result-file exit codes keep working. Commands from subagents always run as written.

Strict gate flags don't fit a slash command, because nothing would read the result. Typing /plannotator-annotate notes.md --require-approval (or --result-file, or --hook) under the mod now opens nothing and tells you to run that command in a terminal. Before, the reviewer's feedback was lost.

(#1673, #1687, #1688, #1692)

Pi plan review no longer blocks the session

On Pi, plannotator_submit_plan now returns as soon as the review opens, and the agent ends its turn. Your decision arrives later as a session message. An approval switches Pi to executing first, then sends the approval. A denial or answered questions come back as feedback. Planning restrictions stay in place until you approve, so nothing gets implemented early.

If the agent resubmits while the review is open, the same tab updates to the new version and keeps your comments, as in Claude Code. Esc no longer cancels a plan review; leave plan mode to abandon it. Ask this session works during plan review.

(#1670)

Claude Code plan review shows the plan Claude just wrote

Claude Code plan review sometimes opened the previous version of a plan, usually the one you had just denied. This happened when Claude edited the plan file and called ExitPlanMode in the same message, which recent models often do after a denial. Claude Code captured the plan text before the edit ran, so the review, the version history, and the approval all recorded the old text.

Plannotator now reads Claude's plan file when Claude Code sends its path and the file is an absolute .md file under 2 MB, and falls back to the inline text otherwise. On approval, Claude proceeds with the plan you reviewed. Claude Code 2.1.285 fixed the cause upstream, and this covers everyone on older versions.

(#1667, by @​workflow)

Question cards

  • Pinpoint targets what you click. In Pinpoint mode, hovering or clicking any choice in a question card highlighted the question's prompt instead, and recorded no answer. This had been the case since question cards shipped in v0.27.23. A pinpoint click now pins the prompt, the context, or the choice you clicked, and clicking a radio or checkbox answers (#1683).
  • Agents give questions some context. The question guidance in the plannotator skill now tells agents that a sentence or two of context helps reviewers answer faster, and that the context can include an image for visual questions (#1674).
  • Decision questions. A Decision: when answered line, or Decision: [statement](https://...), marks a question whose answer becomes a decision, and the card shows a decision tag for it (#1664).

Image links in annotated HTML open in the lightbox

In a raw-HTML annotate session, a link to a local image, such as a thumbnail linking to a full-size render, used to show a "Can't open" toast. In Interact mode it now opens in the image lightbox; with pinpoint armed, the click still pins the element. Only images inside the page's own folder open this way, so nothing becomes readable that the page could not already load. While the lightbox is open, Esc closes it and Mod+Enter cannot submit a decision behind it, which also fixes the lightbox in markdown documents.

(#1676)

Installer fixes

  • The Claude Code mod is no longer stripped on install. Every installer run overwrote hooks.json in Claude Code's marketplace copy of the repo with an old hard-coded version, and the next plugin install copied that file, without the mod, into the installed plugin. The installers no longer touch that file. If an earlier installer had rewritten it, they restore it from git, but only when it matches a shape an installer wrote, so your own edits are kept (#1689).
  • OpenCode 2 picks up the new plugin. The installers cleared only OpenCode 1's plugin cache. They now also clear OpenCode 2's cache under ~/.cache/opencode/npm/ (or $XDG_CACHE_HOME), so re-running the installer loads the new version (#1689).
  • install.cmd adds Plannotator to your PATH. The Claude Code hook now runs a bare plannotator, so it needs to be on PATH. install.ps1 already added the install folder to the user PATH; install.cmd only printed advice and now adds it too, without creating duplicates (#1692).

For embedders: @&#8203;plannotator/ui and @&#8203;plannotator/core

  • Apache-2.0. Both packages now declare the Apache-2.0 license and ship its text (#1675).
  • DiffFileTree. A read-only file tree to put beside your own diff list. It is the code review file tree itself, moved into @&#8203;plannotator/ui, with keyboard navigation and tree ARIA roles. Plannotator's review renders from the same parts and looks the same as before (#1678).
  • HTML frame height and fence themes. Hosts that size the HTML viewer to its content got a frame cut short when a page's first or last element had a margin; the measured height now includes those margins. A new fenceTheme option on configurePlannotatorUI lets a host choose the code block theme (#1677).
  • Question hooks. findQuestionBlocks, a new @&#8203;plannotator/core/markdown-structure subpath, a footer slot for host actions on question cards, and an explicit save mode for answers (#1664).

These shipped as @&#8203;plannotator/core 0.25.9 / @&#8203;plannotator/ui 0.49.0 and @&#8203;plannotator/core 0.25.10 / @&#8203;plannotator/ui 0.50.0 (#1682). Note for the next @&#8203;plannotator/ui release: the "Ask a separate AI instead" fallback helpers that shipped in 0.50.0 (resolveSessionBridgeFallback, findUsableSessionBridge, sessionAskFallbackLabel) are removed, because a connected session is now the only Ask AI option (#1685).

Additional Changes

  • Clear message when the OpenCode CLI is missing. Choosing the OpenCode provider without opencode on your PATH showed a raw ENOENT error. It now says the CLI is missing and suggests installing OpenCode or picking another provider (#1669, closing #1503, by @​Aayushyaash).
  • One-line error when the remote port is taken. In remote mode Plannotator uses one fixed port, so a second session at the same time crashed with a stack trace. It now prints one line naming the port and suggesting PLANNOTATOR_PORT, and exits with the usual startup-failure code (#1692).
  • Ask AI loads faster. Plannotator no longer asks the pi CLI for its models at startup, which could hold up Ask AI for up to 10 seconds. Pi's model list now loads when you pick Pi or start a Pi session, like Codex and OpenCode (#1692).
  • Closing the tab stops a Pi answer. The Pi server kept an Ask AI answer running after you closed the tab or asked a new question. It now stops it, as the server used by Claude Code and OpenCode already did (#1668).
  • Docs. The Claude Code, OpenCode, Pi, and AI features guides cover the mod, Ask this session, the opt-out, and the corrected plugin update steps, and troubleshooting has a new entry for "Claude Code still waits for my review" (#1691).

Known issues

  • Leaving plan mode during a review. Under the Claude Code mod, Claude is not blocked while a plan review is open. Plan mode stays on and Claude is told the plan is not approved, but if you leave plan mode yourself (Shift+Tab) and keep talking, Claude can start editing before you approve.
  • Review servers outlive Claude Code. A review the mod started keeps running after Claude Code exits, so it can be reattached with --continue or --resume. If you never resume that session, the server runs until you decide or close the tab.
  • One session at a time in remote mode. Remote mode uses one fixed port, so two sessions cannot run at once. The second one now stops with a clear message; set PLANNOTATOR_PORT to run it on another port.

Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

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

Claude Code Plugin: The plugin and the plannotator binary update separately, so run the install script above as well. In a terminal:

claude plugin marketplace update plannotator
claude plugin update plannotator@&#8203;plannotator

Then restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.

Pi:

pi update --extensions

OpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.

What's Changed

  • feat(questions): Decision flag, findQuestionBlocks, host footer slot by @​backnotprop in #1664
  • fix(hook): review Claude's plan file, not its stale inline snapshot by @​workflow in #1667
  • feat(ai): Ask this session (core + Pi) by @​backnotprop in #1668
  • fix(ai): show friendly error when opencode CLI is unavailable by @​Aayushyaash in #1669
  • feat(pi): non-blocking plan review, with Ask this session during review by @​backnotprop in #1670
  • feat(ai): Ask this session for OpenCode 2 (host-neutral pull bridge) by @​backnotprop in #1671
  • feat(claude-code): mod for non-blocking plan review, annotate, review and last, with Ask this session by @​backnotprop in #1672
  • feat(claude-code): plannotator tool for agent-initiated opens under the mod by @​backnotprop in #1673
  • docs(questions): suggest context and images in question blocks by @​backnotprop in #1674
  • chore(npm): Apache-2.0 license for @​plannotator/ui and @​plannotator/core by @​backnotprop in #1675
  • feat(annotate): open local image links in an HTML page in the image lightbox by @​backnotprop in #1676
  • fix(ui): srcdoc frame height with collapsed margins + fenceTheme host seam by @​backnotprop in #1677
  • feat(ui): embeddable read-only DiffFileTree shared with the code-review tree by @​backnotprop in #1678
  • chore: bump @​plannotator/core 0.25.10 and @​plannotator/ui 0.50.0 by @​backnotprop in #1682
  • fix(ui): pinpoint in a question card targets what was clicked, not the prompt by @​backnotprop in #1683
  • fix(claude-mod): restore the message picker for /plannotator-last by @​backnotprop in #1684
  • fix(ai): Ask AI uses only the session when a session bridge is present by @​backnotprop in #1685
  • feat(claude-mod): turn the Claude Code mod on by default by @​backnotprop in #1686
  • docs(skill): always use the plannotator tool over the CLI when you have it by @​backnotprop in #1687
  • feat(claude-mod): agent-run plannotator commands open through the mod, so Ask AI reaches the session by @​backnotprop in #1688
  • fix(install): stop stripping the Claude Code mod from the marketplace clone; clear OpenCode 2's plugin cache by @​backnotprop in #1689
  • feat(ui): first-run announcement for Ask this session and non-blocking reviews by @​backnotprop in #1690
  • docs: 0.28.0 — Claude Code mod on by default, Ask this session, correct plugin update steps by @​backnotprop in #1691
  • fix: 0.28.0 QA fixes — strict gates under the mod, clean port-in-use error, deferred pi discovery, Windows PATH by @​backnotprop in #1692

New Contributors

  • @​workflow made their first contribution in #1667

Contributors

@​workflow found why Claude Code plan review sometimes showed the plan that had just been denied. The write-up traced it to Claude Code capturing the plan before a same-message edit ran, with timings from a real session, and the PR came with tests and an end-to-end replay of the real hook event. First contribution to the project.

@​Aayushyaash replaced the raw ENOENT error with a clear message when the OpenCode CLI is missing, a second contribution after the Ask AI dropdown fix in v0.27.25.

Community

  • @​modelpath-dev pinpointed where the missing-CLI error should be caught in #1503

Full Changelog: backnotprop/plannotator@v0.27.25...v0.28.0

Skipped Packages

Non-GitHub Sources

GitHub Release Notes Unavailable

  • droid: No GitHub release was found for 0.234.0

@renovate
renovate Bot force-pushed the renovate/mise-packages branch from 2e60eef to 311c736 Compare October 9, 2026 10:34
@renovate
renovate Bot merged commit b1a6930 into main Oct 9, 2026
7 checks passed
@renovate
renovate Bot deleted the renovate/mise-packages branch October 9, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants