Watch a session
In the interactive relay shell, run /watch to tail the active session live:
text
/watchThe watcher reads artifacts as they're written to disk, so it works whether the
relay shell is open in a parent terminal, a scriptable run is in tmux or CI, or
a remote machine has rsync'd the session directory.
Synopsis
In the relay shell, with no arguments, /watch follows the most recent active
session:
text
/watch [session-id] [flags]From another terminal, agent-relay watch takes the same arguments:
terminal
agent-relay watch [session-id] [flags]Options
| Flag | Type | Default | Description |
|---|---|---|---|
--no-follow | flag | false | Print one snapshot pass and exit instead of following. |
--poll-interval | float | 0.25 | Seconds between polls. |
--metrics | flag | false | Show a token / cost / duration panel that refreshes per turn. |
--json | flag | false | Emit JSON using the root CLI output mode. |
--quiet, -q | flag | false | Minimal output using the root CLI output mode. |
--repo | path | current directory | Repository path. |
What you'll see
The watcher emits one line per event. Common event types:
| Type | Example |
|---|---|
prompt | turn 1 prompt sent 1,420 tokens |
output | turn 1 output returned 380 tokens · 2 tool calls |
tool | turn 2 tool run_tests · exit 1 |
decision | turn 2 decision switched to pytest |
blocker | turn 3 blocker test_refresh_flow still red |
status | status rate-limit reached · checkpoint saved |
Examples
These are slash commands in the relay shell. The same arguments work on
agent-relay watch from another terminal.
text
/watchExit codes
| Code | Meaning |
|---|---|
0 | Watch stream ended cleanly (session completed or checkpointed). |
1 | The target session doesn't exist. |
130 | Interrupted with Ctrl-C (this is normal — the watcher has nothing to clean up). |