Follow @plannotator on X for updates
Missed recent releases?
Release
Highlights
v0.28.20
Inbox search (⌘K), real folder names for projects, data files open in the code view, word-only replies leave questions open
v0.28.19
Ask this session in T3 Code, folder sessions load shared stylesheets and images, the agent note asked once per agent, Copy connect prompt
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
What's New in v0.28.21
You can now start a conversation with an agent from the Inbox, attach videos, and open files in their own apps. Code review sorts files into Code, Tests and Generated. All servers now refuse writes from other websites. 18 PRs.
Message an agent from the Inbox
A compose button beside Search (or "New message…" in ⌘K) writes to any live agent session on this computer. Pick the session, attach files by dropping them in, and send. Its reply comes back to the thread. Unsent messages can be saved as drafts.
Video attachments
Agents can attach MP4, MOV and WebM files. They play in the Inbox, and you can comment at a moment in the video.
Open an attachment in its own app
An Open button on each file opens it in your editor, the browser (HTML), the default app, or Finder. Copy path is there too.
Code, Tests and Generated in code review
When a change touches more than one kind of file, the code review file tree splits into Code, Tests and Generated, each with its own counts. Guided Reviews show the same kinds.
Skills in Inbox replies
Type / or $ in the reply box, New message or a file comment to reference a skill. A human-only skill's instructions are sent along with your reply.
Tidy sidebar projects
Each project in the Inbox sidebar has a ⋯ menu with Mark all as read and Archive all, with Undo. A project with nothing left in the list hides until something new arrives. Git worktrees (including Claude Code's agent worktrees) now file under their main repository instead of each becoming a project.
Writes from other websites are refused
Behavior change: every plan, review and annotate server now refuses a POST, PUT, PATCH or DELETE that a browser marks as coming from another site, before any route runs. Before, only some routes checked. The VS Code panel, the agent integrations and command-line tools are unaffected. If you reach Plannotator through a reverse proxy that rewrites the Host header, add the proxy's hostname to PLANNOTATOR_ALLOWED_HOSTS. Open-in no longer falls back to the OS default handler, and served images get a sandbox policy.
Additional Changes
- Accept recommended on pick-any questions stays offered until your picks match the recommendation, in plan review, annotate and the Inbox (#1913)
- One-line Inbox toast over the pane it belongs to (#1918)
- Agents learn the
Stopped:andHolds up:lines for questions that block their work (#1912) - A words-only reply to a session that asked twice stays words-only (#1929)
- T3 Code: a stopping worker unregisters first, so a new request starts a fresh one (#1928)
- Inbox groundwork for the upcoming phone app (#1930) and test hygiene (#1923)
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
- Inbox: teach agents the Stopped: and Holds up: lines by @backnotprop in #1912
- Question cards: Accept recommended stays on pick-any questions until the picks match by @backnotprop in #1913
- Inbox: skill references in the composers (picker, pasted SKILL.md, folded Skills line) by @backnotprop in #1914
- open-in: same-origin and session guards, no implicit OS-default launch by @backnotprop in #1915
- Review: file kinds (Code, Tests, Generated) in the tree and Guided Reviews by @backnotprop in #1916
- Inbox compose, part 1: threads the person starts, drafts, uploads, Pi/OpenCode poll fields by @backnotprop in #1917
- Inbox: a cleaner toast, one line over the pane it belongs to by @backnotprop in #1918
- Inbox: fold worktrees into their main repository's project by @backnotprop in #1919
- Inbox: open attachments in their own apps (Open in) by @backnotprop in #1920
- harden state-changing routes: same-origin + session guards by @backnotprop in #1921
- Inbox compose, part 2: the window (compose dialog, To picker, drafts, uploads, Not delivered) by @backnotprop in #1922
- Tests: never set PLANNOTATOR_BROWSER=none (it opens the system browser); use a real no-op program by @backnotprop in #1923
- Inbox: a menu on each sidebar project (Mark all as read, Archive all, automatic hiding) by @backnotprop in #1926
- /api/image: sandbox CSP, nosniff and CORP by @backnotprop in #1927
- T3: a worker unregisters before it stops answering (daemon.json race) by @backnotprop in #1928
- Inbox: a words-only Send where one session asked twice stays words-only; the phone contract states when a Send skips by @backnotprop in #1929
- Inbox: a message's images on the phone door, with an ETag and 304 by @backnotprop in #1930
- Inbox: video attachments you can watch and comment on by @backnotprop in #1931
Full Changelog: v0.28.20...v0.28.21