Treeship
CLI reference

ui

Interactive terminal dashboard for monitoring your Treeship.

treeship ui launches a Ratatui-based terminal dashboard for browsing artifacts, watching live activity, and approving pending requests -- all without leaving the terminal.

Usage

treeship ui

Views

The dashboard has four views. Switch between them with a single key.

Dashboard (press d)

The default view. Shows a summary of your Treeship state.

┌─ Dashboard ─────────────────────────────────────────────────┐
│ Ship:    ship_a1b2c3d4e5f6                                  │
│ Session: sess_20260331_142000 (active, 12 artifacts)        │
│ Hub:     ● attached to api.treeship.dev                     │
│ Pending: 2 approvals waiting                                │
│                                                             │
│ Recent artifacts:                                           │
│  art_f8e2a1b3  action     agent://ci-runner  3s ago         │
│  art_c4d5e6f7  approval   human://alice      1m ago         │
│  art_a1b2c3d4  handoff    agent://deployer   5m ago         │
│  art_e5f6a7b8  action     agent://researcher 12m ago        │
└─────────────────────────────────────────────────────────────┘

Log (press l)

A live feed of artifacts as they are created. Refreshes every 2 seconds.

┌─ Log ───────────────────────────────────────────────────────┐
│ 14:20:03  art_f8e2a1b3  action     npm test (exit 0)       │
│ 14:19:58  art_c4d5e6f7  approval   human://alice            │
│ 14:18:42  art_a1b2c3d4  handoff    researcher -> deployer   │
│ 14:15:10  art_e5f6a7b8  action     cargo build (exit 0)    │
│ 14:12:00  art_b9c0d1e2  action     search.web               │
└─────────────────────────────────────────────────────────────┘

Artifact Detail (press Enter on any artifact)

Shows all fields for a selected artifact, including chain position and verification status.

┌─ Artifact Detail ───────────────────────────────────────────┐
│ ID:         art_f8e2a1b3c4d5e6f7                            │
│ Type:       treeship/action/v1                               │
│ Actor:      agent://ci-runner                                │
│ Action:     npm test                                         │
│ Exit code:  0                                                │
│ Elapsed:    3204ms                                           │
│ Signed at:  2026-03-31T14:20:03Z                             │
│ Parent:     art_c4d5e6f7a1b2c3d4                             │
│ Digest:     sha256:a1b2c3d4...                               │
│ Chain:      position 12/12                                   │
│ Verified:   [pass]                                           │
│ Hub URL:    https://treeship.dev/verify/art_f8e2a1b3c4d5e6f7│
└─────────────────────────────────────────────────────────────┘

Approve (press a)

Lists pending approval requests. Approve or deny with a single key.

┌─ Pending Approvals ─────────────────────────────────────────┐
│ [1] agent://deployer wants to run kubectl apply -f deploy   │
│     nonce: abc123    requested: 2m ago                      │
│                                                             │
│ [2] agent://ci-runner wants to run npm publish              │
│     nonce: def456    requested: 5m ago                      │
│                                                             │
│ Press Y to approve, N to deny, arrows to navigate           │
└─────────────────────────────────────────────────────────────┘

Key Bindings

KeyAction
qQuit the dashboard
dSwitch to Dashboard view
lSwitch to Log view
aSwitch to Approve view
Up / DownNavigate list items
EnterOpen Artifact Detail for the selected item
YApprove the selected pending request (Approve view)
NDeny the selected pending request (Approve view)
EscGo back to the previous view

Data source

The TUI reads only from the local artifact store (~/.treeship/). It makes no network requests. Data refreshes every 2 seconds by re-reading the local store.

The TUI requires a terminal that supports 256 colors. If colors look wrong, check that your TERM environment variable is set correctly (e.g., xterm-256color).