Skip to content

Releases: usetriage/triage

v1.0.5

Choose a tag to compare

@samarkundal samarkundal released this 14 Oct 08:34

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

Choose a tag to compare

@samarkundal samarkundal released this 11 Oct 13:53

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-mcp on 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/*.md under 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 status and 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.
  • *.localhost and 127.x count as this Mac.
  • the session header truncates the title, not the pills.

Full changelog: v1.0.3...v1.0.4

v1.0.3

Choose a tag to compare

@samarkundal samarkundal released this 08 Oct 20:30

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

Choose a tag to compare

@samarkundal samarkundal released this 01 Oct 18:21

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

Choose a tag to compare

@samarkundal samarkundal released this 28 Sep 13:49

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_item and edit_work_item take a urls list, 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

Choose a tag to compare

@samarkundal samarkundal released this 21 Sep 16:05

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 :5188 in 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:mcp covers 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 ~/.claude could 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_WORKSPACE is 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

Choose a tag to compare

@samarkundal samarkundal released this 21 Sep 10:38

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

Choose a tag to compare

@samarkundal samarkundal released this 20 Sep 04:19

Changed

  • triage now ships as usetriage on npm: npm i -g usetriage. The command is still triage. The old @hey-triage/triage package 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

Choose a tag to compare

@samarkundal samarkundal released this 17 Sep 05:48

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 external triage-mcp connector, where it also tells you whether your TRIAGE_WORKSPACE matched 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 ~/.claude connectors — the in-process MCP server now always loads, so a chat can't start without its mcp__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

Choose a tag to compare

@samarkundal samarkundal released this 15 Sep 16:33

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_context let a chat look up the item it was dispatched for.

Changed

  • Output from a local command like /usage or /context shows in the transcript instead of sending and visibly doing nothing.

Full changelog: v0.7.1...v0.8.0