The observe loop
Watching a run is three moves. List what’s active. Follow one live. Inspect what a step produced.| You ask your agent | Smithers runs under the hood | You get back |
|---|---|---|
| ”What’s running, and which need me?” | bunx smithers-orchestrator ps | Every active, paused, and recently finished run, with status |
| ”Follow the implement run.” | bunx smithers-orchestrator chat --follow / bunx smithers-orchestrator inspect --watch | Live agent output and step-by-step progress, streaming |
| ”Show me what step 3 produced.” | bunx smithers-orchestrator inspect / bunx smithers-orchestrator output / bunx smithers-orchestrator diff | The structured output, the diff, the exact tool calls |
waiting-approval is flagged; that’s a run paused at a gate, waiting for your decision.
You: “Follow the implement run and tell me when it finishes or needs approval.”
Smithers streams the agent’s chat and step transitions live, and surfaces the moment the run either lands or pauses for you.
You: “Show me exactly what the reviewer flagged in the last run.”
Smithers pulls the reviewer step’s output and reads you the findings: the structured result, not a wall of logs.

Studio: the visual console
When you want eyes on it instead of a transcript, Studio is the Smithers operations console: one window for watching runs and workspaces. In this repo,pnpm dev:studio starts the Studio 2 dev stack.
You open it the same way you do everything else, by asking. “Open Studio so I can watch the kanban board.” Smithers opens the workspace in Studio, where you browse runs and workspaces, watch them update live, and drop into an embedded terminal, all in one window.




The CLI watch loop (
ps, chat --follow, inspect --watch) and the installable web app remain the always-available paths, and work on any machine, with any agent, no GUI required.A browser and remote view
You do not have to be at the machine that started the run. Ask your agent to serve the run, and you get an HTTP control plane you can reach from a browser: your laptop watching a run on a remote box, or a teammate following along. The installable Smithers web app gives you that browser-native surface: open it, install it like any PWA, and talk to it the same way you talk to your agent in the terminal.
Steering from here
Watching is half of it. The other half is steering, and it is the same loop. You see something, you tell your agent what to do about it.| You see | You ask your agent | Smithers does |
|---|---|---|
| A run paused at an approval gate | ”Approve the deploy step.” / “Deny it, the tests are stale.” | Resolves the gate and the run continues or stops |
| A run heading the wrong way | ”Cancel the implement run.” | Safely halts the agents and terminates that run |
| Everything needs to stop | ”Cancel everything that’s running.” | Tears down every active run, like docker compose down |
| A step that went wrong | ”Redo the reviewer step on the last run.” | Retries that task and resumes the workflow from there |
Read next
Talk to Your Agent
The prompt-driven loop that starts every run, and how asking your agent kicks off durable work.
CLI
Every read and steer command Smithers runs under the hood, in one structured catalog.
Gateway
The headless control plane for browser, remote, and multi-user access to your runs.
How It Works
The render → execute → persist loop that makes every run durable and observable.