Follow @plannotator on X for updates
Missed recent releases?
Release
Highlights
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
v0.27.14
Pi plan progress survives compaction, Codex threads across rollout files, WSL browser setting, Mod+E edit mode
v0.27.13
Open a review on a specific base ( --base, --diff-type), symlink containment on /api/doc, CI flake fix, Amp decision relay
v0.27.12
Unified decision control, token hover cards, local-vs-remote diff, approval notes
v0.27.11
OpenCode server leak fix, durable local feedback archive, unknown-subcommand fix
v0.27.10
Auto-viewed files on scroll, annotation undo/redo, OpenCode 2 slash commands restored, npm 12 agent terminal fix
v0.27.9
WebMCP browser-agent tools, HTML refresh from disk, host seams, lazy renderers, Windows uninstall fix
What's New in v0.27.21
A fix release built mostly from community reports. Remote and phone sessions load several times faster, code review can request changes on GitHub for real, model pickers show readable names and say where their list came from, and several OpenCode rough edges are gone. Seven pull requests, answering issues from four people.
Remote and phone sessions load several times faster
Every session sent the whole app to the browser as one uncompressed file, about 25 MB for plan review and 18 MB for code review, on a fresh port each time, so nothing could be cached. On a fast local connection that goes unnoticed. Over a slow tunnel, such as a phone reaching a Mac through Tailscale, it meant waiting up to two minutes before anything appeared.
Remote-mode and --tailscale sessions now send the page compressed: brotli over --tailscale's HTTPS, gzip over plain http. Measured cold loads at 206 KB/s and 159 ms, the connection from the report:
| Before | --tailscale
| Remote mode | |
|---|---|---|---|
| Plan review | 118 s | 30 s | 34 s |
| Code review | 86 s | 21 s | 24 s |
Local sessions send exactly the same bytes and headers as before, since compressing on the same machine gains nothing. The page is also about 1 MB smaller for everyone: KaTeX's math fonts no longer ship in two older formats that no supported browser loads. Splitting the app into separately loaded pieces, which measured around 5 to 7 seconds on the same link, is the next step and is tracked in the same issue.
(#1619, refs #1617, reported by @giladbarnea)
Request changes on GitHub pull requests
In a pull request review, Post comments, then… promised a choice between requesting changes and staying neutral, and Request changes… promised the same. Neither existed: every review posted as a plain comment. The submission dialog now offers Comment or Request changes, and a Request changes review posts as REQUEST_CHANGES on GitHub, including reviews with file-level comment threads. On your own pull request the option is disabled with the reason, since GitHub refuses it. GitLab has no equivalent, so the option is disabled there and posting is unchanged.
(#1613, closing #1611, reported by @RobertoArtiles)
Model pickers show real names and where the list came from
Claude Code 2.1.282 changed how it describes its models, and Plannotator started labeling specific Claude versions with their marketing tagline instead of their name: several rows read "Best for everyday, complex tasks" and could not be told apart. Every Claude picker now shows the model's name again, and older Claude Code versions keep working.
Each Claude and Codex model picker (code review agents, Code Tour, Guided Review, Ask AI) also shows where its list came from, such as "From your installed Codex 0.155.1", or says it is using the built-in list and suggests updating or signing in to the tool. The built-in list, used only when Plannotator cannot read your installed tool's models, now includes the GPT-6 models. Guided Review defaults to GPT-6 Luna for Codex when your Codex offers it, since guides generate faster on a lighter model; a model you already picked always wins.
If a newer model is missing from your picker, update the tool itself (codex update, or update Claude Code) and restart the review. The picker shows whatever your installed tool reports.
OpenCode fixes
- Feedback reaches the right agent.
/plannotator-lastand/plannotator-annotatefeedback was answered by OpenCode's default agent even when the annotated message came from a different one. Feedback now goes to the agent that wrote the message, as long as OpenCode still lists it; otherwise it is delivered exactly as before. (#1614, closing #1612, reported by @balaji-dutt) - Guided Review and review agents work with OpenCode v2. Plannotator started
opencode runwith a--dirflag that OpenCode v2 rejects. It now starts OpenCode in the review's folder and sets its working-directory environment to match, which works on both versions and also keeps OpenCode 1.x from reviewing the wrong checkout in PR, worktree and multi-repo reviews. (#1610, refs #1609, reported by @JakobHavtorn)
Additional Changes
- Selections elsewhere on the page survive. The document viewer cleared the whole page's text selection whenever it loaded or its content changed. It now only clears a selection inside itself. This mainly affected apps that embed the viewer next to other panels. (#1608)
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".
Pi: Update @plannotator/pi-extension to 0.27.21 and restart Pi.
OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@plannotatorWhat's Changed
- fix(ui): vim selection reset only clears selections inside the viewer by @backnotprop in #1608
- fix(agents): drop --dir from opencode run (OpenCode v2 rejects it) by @backnotprop in #1610
- fix(review): make Request changes a real PR review event by @backnotprop in #1613
- fix(opencode): answer /plannotator-last feedback with the annotated message's agent by @backnotprop in #1614
- fix(core): name Claude models from displayName when the description is only a tagline by @backnotprop in #1615
- Model pickers: show where the list came from; refresh the Codex fallback by @backnotprop in #1616
- perf: compress the app page for remote and tailnet sessions; woff2-only KaTeX by @backnotprop in #1619
Community
This release is mostly answers to reports:
- @giladbarnea measured the two-minute phone load precisely, down to the link speed and what compression alone would save, in #1617
- @RobertoArtiles traced the missing request-changes choice through the source in #1611
- @balaji-dutt reported OpenCode feedback reaching the wrong agent, with an agent-by-turn table, in #1612
- @JakobHavtorn reported the OpenCode v2
--dirfailure in #1609
Full Changelog: v0.27.20...v0.27.21