Repository navigation
Releases: usetriage/triage
Releases · usetriage/triage
Release list
v1.0.5
Install or update: curl -fsSL https://usetriage.sh/install.sh | sh
Added
- Worktrees: start a session in a fresh git worktree from the composer or from dispatch, with progress while it's prepared. A checkout chip in the header, session rows and tabs shows where each session runs, coloured by project, and Changes groups by project and checkout. Removing a worktree checks it's safe first; a session whose worktree is gone can recreate it or carry on.
- Browser pane (Triage.app): the agent opens what it built in a page beside the session — snapshot, act, screenshot, read the logs, compare — and keeps the evidence in a Verification note. Shots show under the tool calls, you can pick from the page into the composer, and the Review team's reviewer checks web changes there.
- Actions: outbound actions a job wants to take are recorded and held for your approval, then sent through a one-tool run.
- Skills and Agents in Settings: browse, edit and create every Claude skill and subagent, live in open sessions.
- Inbox tabs: the sidebar puts each open item in one tab, and sessions waiting on you show under Needs you. Items show their stage and whose turn it is.
- Brief types — plan, overview and PR summary — with a template you edit in a modal, and checked rows brief together with defaults.
- Due dates: pick an exact day on any item from a calendar.
Changed
- watches are now jobs everywhere; old databases and folders migrate in place.
- a new job opens a chat with Junior, who drafts it and offers a trial run.
- a job file can name skills and agents, and a run loads and may call only those.
- settings is a page (
#/settings/<tab>), not a modal. - a running Bash command shows a live clock, and background shells get a dock with their output tail.
- the rail puts Actions second, after the inbox.
Fixed
- the inbox skips a saved snapshot from before stage and turn existed.
Full changelog: v1.0.4...v1.0.5
v1.0.4
Install or update: curl -fsSL https://usetriage.sh/install.sh | sh
Added
- Triage.app, a native Mac window over the triage daemon. One curl line installs it, with its own Node bundled, a LaunchAgent so triage outlives reboots, and
triage/triage-mcpon your PATH. The installer shows its progress and tells you exactly what it did. - Codex as a second agent: connect it per workspace in Settings → Providers. The model picker knows which agent each model runs on, and the top bar shows each connected agent's live usage.
- Teams as recipes: a chat proposes a team card, you approve it, and triage runs the steps, with one live Plan per run and per-task loops.
- Watches as files: each watch lives in
watches/*.mdunder a strict schema. Every slot is recorded (run, skipped, missed, over budget), with a daily budget and a watchdog for stuck runs. - Subagents as cards in chat, with a live dock and a view of their own.
- A default project per workspace: sessions, terminals and items remember theirs, and onboarding asks for the folder.
- In the app, a workspace opens in its own window, with back/forward and a panel toggle in the title bar.
- Which build is running shows in the top bar, in
triage statusand in/api/health.
Changed
- inbox: ask labels, due-day sections, FYI items fade, duplicates merge, and the list refreshes live.
- a cost pill in the chat header with a token breakdown, and turn markers show what each turn cost.
- usage counts subagent transcripts and full output, and prices the 5.5 models (Opus, Sonnet, Haiku).
- model picker: hide models, add custom ids.
- ids and mentions in messages open what they name.
- watch form: cron reads as words, and the next runs show as you type.
Fixed
- composer drafts and attached images survive switching tabs, and new drafts take the latest session defaults.
- focus rings show only after keyboard use.
- dispatch drafts no longer repeat the item's description.
*.localhostand127.xcount as this Mac.- the session header truncates the title, not the pills.
Full changelog: v1.0.3...v1.0.4
v1.0.3
Changed
- The side panel has its own hide button beside the search field, and a show button before the Inbox tab while it's hidden. Clicking a rail icon only navigates now — clicking the section you're already in no longer closes the panel. ⌘B still toggles it.
- The changes drawer under a session's transcript is gone. Per-turn change summaries in the transcript and the Changes section stay.
Fixed
- On a phone paired over plain http on your network, + new session and attaching an image work again (they needed
crypto.randomUUID, which browsers only provide over https or on localhost). - On a phone, the search palette, the status / activity / logs sheet and keyboard shortcuts can all be closed — the palette has a Cancel button, the other two an X.
- The home-screen app on iOS 26 no longer leaves an empty strip at the bottom, and the tab bar sits closer to the home indicator.
- Phone access over ngrok explains "domain already in use" instead of passing on ngrok's raw error.
Full changelog: v1.0.2...v1.0.3
v1.0.2
Added
- Use triage from your phone: Settings → Phone pairs a phone on the same Wi-Fi by QR code or a 6-digit code. A paired phone stays signed in; Sign out all devices revokes every one at once.
- Anywhere: switch phone access to Anywhere and triage runs your own
ngrok, so a paired phone reaches it on mobile data too. Over the internet only the QR code pairs. - A phone layout: a bottom tab bar, sheets for sessions, terminals and changes, a back button that works in a home-screen app, item actions right under the title, a key bar for terminals, and a one-line chat composer with icon-only model and permission pickers.
Fixed
- The daemon no longer answers your whole network. It accepted connections from any device on the same Wi-Fi with no login, and any web page could open its WebSocket. Now only this machine and devices you pair get in, and writes and WebSockets from other sites are refused. Update to close it.
Full changelog: v1.0.1...v1.0.2
v1.0.1
Added
- A links section on the item page: the item's source, links you add yourself (a Slack thread, the PR, a doc), and the PRs and pages the scanner saw mentioned. One click opens each. Duplicates show once, and you can only remove your own links.
create_work_itemandedit_work_itemtake aurlslist, so an agent can attach links too.- A copy button on code blocks in chat, plus a rendered preview for markdown snippets.
Changed
- A manual item's project can be changed from its detail page.
Full changelog: v1.0.0...v1.0.1
v0.9.0
Added
- Connect triage from anywhere over HTTP: the daemon now serves its tools at
POST /mcp, so Claude Code, Codex, or Cursor take a URL instead of spawning a process —http://localhost:5178/mcp, or:5188in dev. - The workspace rides in the URL (
?workspace=<id>). An id that matches nothing is refused at connect time with the list of ids that do, instead of quietly filing work into the default inbox. - An MCP tab in settings: the URL for the workspace you are looking at, and the one command or one file each client needs — Claude Code, Codex, Cursor, Codex Cloud (with what publishing an unauthenticated inbox actually means), and a stdio fallback.
npm run smoke:mcpcovers both doors: the HTTP endpoint, and two concurrent chats.
Fixed
- A chat no longer loses its triage tools when another session in the same workspace is live. One server instance was shared across the workspace, so the second session's connect was refused and its chat fell back to having no
mcp__triage__*tools at all. - The init card stops reporting a shadowed server's status. A same-named entry in
~/.claudecould show as failed next to tools that were working fine; a server now reads as working when its tools are in the session. - The stdio shim fails loudly and usefully: an unknown
TRIAGE_WORKSPACEis refused rather than silently resolved to the default, and an unreachable daemon or wrong port says so instead of surfacing a raw fetch error.
Full changelog: v0.8.3...v0.9.0
v0.8.3
Added
- Each browser tab now holds its own workspace — URLs carry
/w/<id>/, so two tabs can sit in two workspaces at once.
Changed
- The tab band shrinks then scrolls instead of clipping tabs off the right edge. Inbox and the
+stay put, and the selected tab is scrolled back into view. - The changes drawer lists files down a sidebar rather than a chip strip across the top, with each file's folder under its name.
- The unlabelled workspace and connection dots are gone from the rail footer.
Fixed
- Light mode: the terminal palette is themed and the last dark-only colours are tokenised.
- A long concurrent-session name no longer overflows the turn marker.
- A long session title no longer wraps the diff footer onto a second line.
Full changelog: v0.8.2...v0.8.3
v0.8.2
Changed
- triage now ships as usetriage on npm:
npm i -g usetriage. The command is stilltriage. The old@hey-triage/triagepackage is no longer updated. - home is now usetriage.sh and github.com/usetriage/triage.
Full changelog: v0.8.1...v0.8.2
v0.8.1
Added
get_workspace— a tool to see which triage workspace you're acting in (id, name, whether it's the default, auth backend) plus the roster to switch among. Works in a chat and through the externaltriage-mcpconnector, where it also tells you whether yourTRIAGE_WORKSPACEmatched or silently fell back to the default.- mermaid diagrams — mermaid code fences in markdown output now render as diagrams instead of raw text.
Fixed
- triage's own tools no longer go missing when you have many
~/.claudeconnectors — the in-process MCP server now always loads, so a chat can't start without itsmcp__triage__*tools and quietly fall back to the HTTP API. - the
@mention picker shares the composer's anchor with the/picker, so both align to the box.
Full changelog: v0.8.0...v0.8.1
v0.8.0
Added
- Type
/in the composer for the commands and skills this folder actually has — Claude Code's own, yours, the project's, and every plugin's. The list narrows as you type, arrow keys and enter pick, and a name that resolves lights up in the box so a typo doesn't slip through as prose. - A changes drawer per session: git snapshots taken around every turn, so you can see what each one touched, with the diff hunks inline in the transcript where the tool ran.
- Sessions now know what triage is — shared context and their own identity ride in the system prompt, and
get_work_item/get_session_contextlet a chat look up the item it was dispatched for.
Changed
- Output from a local command like
/usageor/contextshows in the transcript instead of sending and visibly doing nothing.
Full changelog: v0.7.1...v0.8.0