Follow @plannotator on X for updates
Missed recent releases?
Release
Highlights
v0.28.18
plannotator inbox connects your agents, agents are told when to use the Inbox, rendered Markdown in code review, Inbox Settings in sections
v0.28.17
The Inbox on iPads and narrow windows, the reply bar no longer cuts off "Keep open", a Pi crash on /reload fixed
v0.28.16
The Inbox on a phone, a doorbell for new questions, Mark read, step through a thread's files, replies when the asking session ended
v0.28.15
Long Inbox threads fold to what is new, "Skipped N questions" replies, Inbox list and sidebar fixes
v0.28.14
Agents can replace an earlier question, comment on a guided review in the Inbox, issue numbers link to the repository
v0.28.12
Update notices and plannotator update, attach any file to an Inbox message, questions with context, links to attached files
v0.28.11
plannotator inbox --help prints a full guide for agents, and the plannotator.ai/inbox install prompt
v0.28.10
The Inbox over your tailnet with plannotator inbox --tailscale, images in agent messages load, click anywhere on an attachment tile
v0.28.9
Large Inbox messages through plannotator inbox mcp fixed, an Inbox sidebar you can close and resize, Edit Mode in reviews of several files, the new Pi logo
v0.28.8
The Plannotator Inbox (preview): messages, questions, files and guided reviews from your agents in one local window
v0.28.7
Ask this session keeps your drafts as drafts, image comments survive a reload, hostname check on every server
v0.28.6
Ask AI names the lines you selected, reorder quick labels and edit their emoji, Pi fixed-port crash fixed, OpenCode 2 subagent notice fixed
What's New in v0.28.19
A small release with two contributions from @leoreisdias: Ask this session for Claude conversations in T3 Code, as an opt-in install flag, and folder annotate sessions that load a page's shared stylesheets and images from anywhere in the folder. On the Inbox side, the question about adding a note to your agents' instructions moves from a card above the list into a one-time dialog that asks once per agent, and the session-start reminder now tells agents where to read how the Inbox works. 5 PRs in all, 2 from an external contributor.
Ask this session in T3 Code
When Claude runs plannotator review, plannotator annotate or plannotator last inside a T3 Code conversation, the review used to open with no link back to that conversation: Ask AI could only start a separate agent, and the decision came back as the output of a command that had blocked Claude until you were done.
With the new opt-in installer flag, those reviews connect to the conversation that ran the command. Ask this session sends your question into that T3 conversation as an ordinary turn and shows the answer in the review, including when the conversation was idle. The command returns as soon as the review opens and Claude ends its turn, and your decision (feedback, Approve with notes, or a gated approval) arrives later in the same conversation, worded the way the Claude Code integration words it. Claude keeps running the same commands as before and needs no T3 address or thread id; the hook finds the conversation from Claude's own tool call and never guesses by title or folder.
Setup, on macOS or Linux:
curl -fsSL https://plannotator.ai/install.sh | bash -s -- --with-t3
plannotator t3 login --url <the MCP URL from T3 Settings → Connections>The flag adds one Claude PreToolUse hook to your Claude settings (backed up first), and automatic updates keep it. plannotator t3 login asks T3 to authorize Plannotator once. --without-t3 removes only that hook. Nothing changes for anyone who does not pass the flag: the Claude plugin, the skills and default installs add no T3 hook.
Limits worth knowing. Only Claude conversations are routed, and only simple Bash runs of review, annotate and last; plan review, compound shell commands and strict scripted gates keep their usual behavior. The hook runs for every Claude Agent SDK session on that profile, so a claude -p run or another SDK app pays roughly a third of a second per Bash call before the hook finds no T3 conversation and leaves the command alone. Setup details and diagnostics are in packages/t3-code/README.md.
- #1807, by @leoreisdias
Folder sessions load shared stylesheets and images
Annotating a folder of HTML pages that share one assets/ directory left nested pages unstyled. In plannotator annotate course/, a page at lessons/lesson.html that links ../assets/lesson.css could only load files from its own directory, so the stylesheet, scripts and images never arrived.
In a folder session the selected folder is now the asset root for every page inside it, while relative references still resolve from each page's own directory. ../assets/lesson.css loads, and so do shared images, inline CSS url()s and srcset entries. Share links carry the same assets. Single-file sessions keep their current scope.
A page still loads anything in its own folder, exactly as before, hidden folders such as .vendor/ or .vitepress/ included. What is new is that it can also reach the rest of the selected folder, and there it is refused hidden files and folders (any path segment starting with .) and the .env family, whether it asks for them directly or through a symlink. Because a page can load the folder's other non-hidden asset files, pick the folder you mean to review rather than your home directory.
- #1568, by @leoreisdias, and #1900
The agent note is asked once per agent, in a dialog
In v0.28.18 a card above the Inbox list asked, once, whether to add a short Inbox note to your agents' instruction files. That card is gone. The question is now a dialog that opens once, after the sound dialog and never on the same page load.
Each agent gets a row with the exact file the note goes into and whether it adds to the end of that file or creates it. Every agent starts ticked, Claude Code included, and the main button names who it adds to ("Add to Codex, Gemini CLI and Claude Code"), or reads "Don't add a note" when you untick them all. Results show in the same rows: Added, Created, or Not added with the reason and Try again. When plannotator inbox connected agents since you last looked, the "Connected …" report sits at the top of the dialog. Escape, the backdrop and Not now write nothing.
The question is now asked once per agent rather than once ever. An agent you install later gets the dialog for itself alone, and an agent whose note could not be written is asked again. If you already answered the card in v0.28.18, those agents count as asked and you will not see the question again for them. Nothing is written without your yes, and Settings → Agents and plannotator inbox --notes work as before.
Copy connect prompt in the Inbox sidebar
A new row above Settings copies a short prompt you can paste into any agent, at any time. The agent reads plannotator inbox --help, connects itself to your Inbox for its next sessions, and sends you a first message there. The prompt names this computer's own plannotator, so it works when pasted into an agent on this machine.
The session reminder points agents at plannotator inbox --help
The one-line Inbox reminder that each session gets at start now ends with "Run plannotator inbox --help for how it works.", so an agent that has never seen the Inbox knows where its full guide is. It is still fixed text, so the first session after updating misses the prompt cache once and later sessions do not.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude 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@plannotatorThen restart Claude Code. Inside Claude Code, run /plugin marketplace update plannotator, then open /plugin → Installed → plannotator → Update now.
Pi:
pi update --extensionsOpenCode: Re-run the install script above. It now also clears the OpenCode 2 plugin cache.
What's Changed
- fix(annotate): resolve shared HTML assets within selected folders by @leoreisdias in #1568
- Inbox: the session reminder points agents at plannotator inbox --help by @backnotprop in #1895
- Annotate: folder sessions keep a page's own hidden asset folders by @backnotprop in #1900
- Publish prep: @plannotator/core 0.25.13 and @plannotator/ui 0.53.0 by @backnotprop in #1898
- feat(t3): connect Ask this session through an optional Claude hook by @leoreisdias in #1807
- Inbox: the agent note asks in a dialog, once per agent by @backnotprop in #1896
- Inbox: Copy connect prompt in the sidebar by @backnotprop in #1901
Contributors
@leoreisdias wrote both of this release's community contributions. His T3 Code integration (#1807) maps Claude's tool call to the T3 conversation that made it through T3's own API, so Ask this session and review decisions reach that conversation without the agent knowing T3 is there; it was verified live against T3 Code before we finished it for release. His folder asset fix (#1568) makes the selected folder the shared asset root in both the Bun and Pi servers and in share links; we added the hidden-file refusal on top of it. Both build on his earlier work on annotate and code review, including HTML Refresh and comparing a local branch with its remote.
Full Changelog: v0.28.18...v0.28.19