# triage
A terminal-based Ratatui local client for **Triage**, the attention-routing terminal supervisor.
This TUI client connects to the persistent background daemon (`triaged`) over local Unix sockets or Named Pipes, allowing you to attach, interact, monitor, and switch focus across persistent terminal workspaces.
## Features
* **Durable Sessions**: PTYs are owned by the daemon, so they stay alive when you close the client, detach, or restart the daemon.
* **Workspace Sidebar**: A session list showing each session's repo, worktree, and branch, so you can tell at a glance which terminal is which.
* **Attach and Switch**: Cycle between sessions and drive the focused one directly; input goes through Triage's one-writer lease model.
* **Update Banner**: A read-only notice when a newer Triage release is published (see [Update checks](#update-checks)).
* **High Performance**: Built with Ratatui over a WezTerm-derived virtual terminal engine.
## Installation
Install both the client and daemon:
```bash
cargo install triage triaged
```
> On **aarch64**, building `triaged` from source needs a nightly toolchain —
> 1.99.0-nightly or newer (`nightly-2026-07-08`+) — because its `cera` inference
> dependency uses unstable NEON intrinsics. Use `cargo +nightly install triage triaged`,
> or take a prebuilt binary from a
> [release](https://github.com/hyeons-lab/triage/releases).
## Usage
First make sure the daemon is running. Start it in the foreground:
```bash
triaged
```
…or register it to start automatically at login (macOS, Linux, and Windows):
```bash
triaged service install
```
Then launch the client interface:
```bash
triage
```
The client connects to the daemon over a local Unix domain socket (macOS/Linux)
or named pipe (Windows). See [`triaged`](https://crates.io/crates/triaged) for
daemon and service details.
## Keys
Everything else you type is forwarded to the focused session.
| `Ctrl+N` | New session |
| `Ctrl+W` | Close the focused session |
| `Alt+↓` / `Alt+→` / `F3` | Next session |
| `Alt+↑` / `Alt+←` / `F4` | Previous session |
| `F2` | Show/hide the sidebar |
| `PageUp` / `PageDown` | Scroll the focused session's scrollback |
| `Ctrl+Q` | Quit the client (sessions keep running in the daemon) |
`Ctrl+C` is forwarded to the session, not intercepted — it interrupts the
running program, as in any terminal. Use `Ctrl+Q` to leave the client.
## Update checks
The daemon polls for newer releases and the TUI surfaces an "update available"
banner naming the new version. It is **read-only** — nothing is downloaded or
installed automatically. Configure or disable it under `[update]` in
`~/.config/triage/config.toml`; see the
[`triaged`](https://crates.io/crates/triaged) docs.