Repository navigation
Releases: ahmed0thman/thread
Release list
0.25.0
Full access per card. Some work, such as rendering video on the GPU or anything that needs the network, cannot run inside a sandbox. A task or idea's page now has an Allow full access switch. Only you can set it, on this machine's board: not through the phone link, not through Claude's tools, and never in the repo's card files.
On a card you allowed, a thread can run in a third mode, Full access, with no sandbox and no permission checks:
| Worker | What it gets |
|---|---|
| Codex lane | --sandbox danger-full-access |
| Claude or Antigravity lane | the relay's --dangerously-skip-permissions |
| Claude thread | --permission-mode bypassPermissions |
| OpenCode lane | unchanged (OpenCode has no sandbox) |
Start as thread offers it, and Claude may pass mode: "full" to thread_start for that card. It is told to do so only when the task needs it or you ask. A worker with full access runs any command as you.
- Card changes: if the card's title or note changes after you allowed it, the switch reads Needs to be allowed again.
- Taking it away: a thread's page has Take away full access, which applies from the next turn.
- Tag: a Full access tag marks allowed cards and full-access threads.
- Older versions: an older plugin version runs such a thread read-only. In a project kept in the repo it drops the switch; set it again.
- Real-CLI check: with the real Claude and Codex CLIs, the normal mode refused or sandboxed a network command and full access ran it. OpenCode ran it too. Antigravity's full access was not checked with its real CLI. See the evidence.
Runs in History. A card's History shows the runs on it, the newest 10 among its moves and edits: "started run 2", then "finished", "ended" or "stopped", with the worker.
Lane work on the card. Claude is told, now as a CRITICAL rule, to hand a card's work to a lane with thread_start (lane and card), never by running a delegate relay itself. Only then does the run show on the card with its working indicator, live steps and report.
Update with:
claude plugin marketplace update thread-marketplace
claude plugin update thread@thread-marketplaceThen reload the Claude Code windows that are open.
0.24.2
Answer in your own words. Every choice waiting item now ends with an Other row. Pick it and write your own answer when none of the options fits. A single choice takes one option or Other; a multi choice takes any options plus Other. Claude gets your words first ("answered in their own words …, and chose …").
The words are also stored as the first entry of the item's options ("Other: …"), so a session still on an older version sees and delivers them. A board served by an older session refuses an Other answer and keeps your draft rather than dropping your words. Run /thread:board in a session on 0.24.2, or reload the old windows. See Waiting items.
Sub-agent reports on cards again. Current Claude Code returns a sub-agent's result with a SubagentHandback call and no final text, so runs on a card showed "No report was recorded for this run". The card now shows the text that was handed back to the main session. Runs recorded before this release keep no report.
Update with:
claude plugin marketplace update thread-marketplace
claude plugin update thread@thread-marketplaceThen reload the Claude Code windows that are open.
0.24.1
A small fix release.
Lane work for a card shows on the card more reliably. When Claude handed a card to a Codex, OpenCode or other delegation lane by running the delegate skill's relay itself from the shell, the plugin never saw that run. The card's History named the lane, but there was no run, no working indicator and no steps. The plugin's guide and /thread:track now tell Claude to hand a card to a lane with thread_start (lane and card), which records the run on the card. This is an instruction to Claude, not a check. If a card still shows nothing while a lane works on it, ask Claude to start the lane that way. See Running a lane for a card.
The Choose a worker dialog says what it means. On a card with nothing saved, the dialog marked Claude (default) Current while the card's Worker field showed the last worker used. Now:
- On the card's page, Saved marks the worker saved on the card and Picked marks one you chose but haven't saved yet. When nothing is saved, no row is marked.
- In the Start as thread step, Selected marks what Start runs.
- The dialog opens on the tab of the chosen worker, else the one working now, else the last one used.
Update with:
claude plugin marketplace update thread-marketplace
claude plugin update thread@thread-marketplaceThen reload the Claude Code windows that are open.
0.24.0
Lane work shows on its card. Work you hand to a Codex, OpenCode or Claude delegation lane now shows on its task card the way a Claude sub-agent run does: "code-codex working" on the card, the live steps, the prompt, the report, and a link to the thread. Pass the card with /thread:new --card c12 (Claude does it with thread_start card). The card stays a task, so its acceptance criteria still gate done. Codex and OpenCode lanes show live steps for the first time; agy shows start, stop and the report.
The board token is kept from Claude. /thread:board opens the board in your browser itself, with a one-time code. Claude gets the address without the token, the "Waiting on you" links open in any tab of a browser that has opened the board, and the phone (tunnel) link is shown on the board under Phone link instead of in Claude's answer. Stopping the board gives it a new token. An agent with shell access can still read the token from the plugin's data folder, so the gate guards the normal path and is not a sandbox.
You hear about updates. Turn on auto-update in /plugin → Marketplaces → thread-marketplace (it is off by default for this marketplace). After an update, the board and the first session say "Updated to X" once, with a What's new panel. An opt-in daily check (/thread:setup, off by default) tells you when a newer release is out, with the two update commands.
Fixes. A local link such as http://localhost:3000/... in a waiting item opens in a new tab instead of moving the board to its home. The repository no longer has a .mcp.json, which made Claude Code start a broken second "thread" server when you work inside a clone of this repo.
Reload your Claude Code windows after updating.
0.23.0
A short README, and the reference in docs/. The front page now says what thread is for (in a long Claude Code session it is easy to miss a question or lose track of work awaiting your review), how to install it, a first use that walks the questions-and-review loop, what installing changes, and the limits: what Claude is instructed to do and what the plugin enforces. Every feature is still documented, one page per area, from the documentation index.
A demo and the evidence. A still and a 20-second GIF of the loop (invented data), and an evidence page with the dated real Claude Code checks, including a smoke test of that loop on 0.22.0, and the token test with both results.
Clickable waiting items. Claude's "Waiting on you: c37.w2" line now links the item to its card on the board, so you can click it from the chat. Reload your Claude Code windows to get it.
CI. The tests run on Node 20, 22 and 24, with the plugin validator, on pushes to main and pull requests.
Stated plainly. The done gate guards Claude's tool calls and is not a sandbox: an agent with shell access holds the board's token. A change that keeps the token away from Claude is planned for the next release.
0.22.0
Claude keeps the board for you. The plugin now gives Claude a short operating guide when it starts: put each task on the board before starting it, raise every question, choice, review or to-do as a waiting item (with one line in the chat) instead of asking only in the chat, act on every answer, mark sub-agent runs with the card id, and never mark unverified work done. The session-start note and /thread:track say the same. See "How Claude uses the board" in the README.
/thread:add for every kind of card. Add tasks, bugs, ideas and milestones from the chat with --bug, --idea, --milestone, --priority high|low, --label, --blocked-by, --criteria, --agent, --parent and --lane.
Commands you can copy. A command in a waiting item, note, prompt or report is a code block with a Copy button (the exact text; shell blocks get a $ that is not copied). Steps keep their commands inside the numbered list.
Links that work. A plain web address opens in a new tab. A link to a card on this board becomes the card chip with its preview, like a card id. The board's access token is never shown in an address on the page.
Milestones map: click any line to name it or remove it. A line that comes from cards lists exactly which card blockers will be taken off before it removes them.
Summary: a Last 7 days range with one point per day.
The README's opening, the Summary screenshot and the plugin description are updated; older "What's new" entries moved to CHANGELOG.md.
0.21.0
Arrange the Milestones map your way. Drag a milestone to another cell on the map's grid (dropping it on a taken cell swaps the two). The layout is saved per project on this computer, never in the repo, and Reset layout brings back the automatic one. From the keyboard: pick a milestone, press M, move with the arrow keys, Enter to drop, Esc to cancel. On touch: press and hold, then drag.
Connect milestones by hand. Drag the dot next to a picked milestone onto another one, or use Add dependency in the panel, to say the second waits on the first. Hand links are drawn as dotted "hand" lines next to the links that come from cards, and can be removed on the map. They change the Now / After flags, the route and "To reach it", and Claude sees them in board_list (and can set them with depends_on in board_add / board_update). They never block starting or finishing a card. A link that would close a loop is refused; a loop made by merging two devices is shown and explained, and removing one link ends it.
The remote (phone) link can see the layout and links but cannot change them. The layout and links carry over when you move the board into the repo, also when an older plugin version does the move.
0.20.0
Summary: filters and a line chart. The Summary view has a filter bar: time range (4, 8, 12 or 26 weeks), milestone, worker, type, priority and label, with a "5 of 85 cards" count and Clear filters. The filters apply to the tiles, the chart, Work by worker, Waiting for you and the milestones. The weekly bars are now a line chart: cards created and done per week, and below it how many cards were still open at each week's end. Hover, tap or use the arrow keys for a week's numbers, or show them as a table.
Milestones: a route map. Milestones are in number order everywhere (M0, M1 … M10, whatever their state). The Milestones view opens on a map: a ring per milestone that fills as its cards are done, and arrows for which milestone waits on which, worked out from the cards' blockers (the number on an arrow is how many card links make it). A top line says how many are done, which you can work on now and what waits for you. Pick a milestone to highlight the route to it and see what is left before it: what it depends on, what it unblocks, the open cards and the exact card links. Milestones that depend on each other are marked as a cycle. Cards shows the familiar grid.
0.19.0
Card notes you can read. A card's note is now a proper reading frame: a header with Edit, larger text, coloured section headings (Did, Found, Decided, Open…) and bold leads, and boxed code. Claude is asked to write long notes as short Markdown sections.
Links between cards and questions. A card id (c37) or a waiting-item id (c37.w2) in any Markdown on the board becomes a link, but only when that card or item exists. Hover it or Tab to it for a small preview (title, stage and waiting count for a card; the kind, state and start of the text for an item) with a Visit button. A click opens the card, and for an item scrolls to it and highlights it. Ids inside code, web addresses, emails and file paths stay plain text. Unsaved edits on the card you leave still ask before they are discarded.
History as a timeline. The History on a card's page is a vertical timeline: a marker per event shaped by its kind, stage moves as Review → Done chips, the worker as a small chip, the time on the right, grouped by day, the newest 8 first with Show all.
0.18.0
thread is now presented as project management for AI agents. You manage the project; Claude, its sub-agents, side threads and agents on your delegation lanes do the work. The README, plugin and marketplace descriptions and keywords say so.
New, opt-in (off by default): code maps. Turn on codeMap in /thread:setup (or config_set with codeMap: true). When the project has a Graphify map (graphify-out/GRAPH_REPORT.md), a new thread's first prompt tells it to use the map as an index to find where to look, says the code wins over the map, and warns when the map is older than the last commit. With the setting off nothing changes, and thread never runs Graphify itself.
Fixes
- Printing a board view prints all of it, not one screen followed by blank pages. Buttons, overlays and the send bar are left off the print.
- Status shapes stay visible in high-contrast (forced colours) mode.
- The permission check on the plugin's data folder runs once instead of at every start.