- 01
The agent records what it makes
A PR, a ticket, a deploy: one
trail_addcall as it happens. No setup, no scanning your history. - 02
It's in the sidebar, as it happens
Grouped under what it was for — a PR under its ticket — with how long ago, and
↗where there's a page to open. - 03
/trailis the whole listEvery record, its system, what was done to it.
enteropens it,ccopies,/searches. - 04
Any record leads back to its conversation
tabto every conversation in the project, thengon any line: you're back in the session that made it.
Your agent, on instruments.See it work while it works.
Cockpit adds the instruments OpenCode doesn't ship with: shells that keep running, subagents you can watch, a pull request in the terminal, and a trail of everything each conversation made.
$ opencode plugin opencode-cockpit@0.9.0 --global --force $ opencode plugin add opencode-cockpit@0.9.0
$ opencode service restart # after installing, and after every update Drawn live by Cockpit's own code — the same renderers that run in your terminal.
Know what every conversation shipped. And which one shipped it.
Long things run in the background. The agent waits on them. You watch.
A tool call has to finish; a dev server never does. Shell gives the agent real terminals that outlive the turn, wait for a port or a pattern, and hand back the part that matters.
- ctrl+x othe shells panel, under the chat
- ctrl+x jthe last shell's console
- 34watch presets — a port, a log line, a crash
Helpers work in parallel. Now you can watch them.
A subagent used to be one line in the chat. Now each one is in the sidebar with what it's doing right now — and a key opens its whole run: the task, its thinking, every command and its output.
- ctrl+x dthe subagent working now, beside the chat
- mmessage it yourself — the main agent is told
- bsend a blocking one to the background
Review changes like a pull request. In the terminal, images included.
Comment on the lines you mean, not in prose. The agent reads your notes, fixes the code and resolves them — and a resolve over an untouched file stays open.
- ctrl+x vthe review of what changed
- ca note on this line, then s to hand them over
- ctrl+x kright pane or full screen
See the context filling. Before it bites.
How full is the window, where did the tokens go, what has changed, what is it costing. A table in the sidebar or one line under the prompt — every part a segment you can reshape.
- 23segments, or write your own in TypeScript
- /status-setupthe agent designs it with you
- 75% · 90%colour only when it's worth one
Stop answering the same prompt. Trust learns what you always allow.
Approve bun test three times and Trust answers it for you. Risky commands take more, and nothing it learns lasts forever. Every answer it gave is one key away.
- ctrl+x pwhat Trust answered, and why
- 3×allowed, then earned — dangerous ones take more
- 30dtrust you don't use expires
Every plugin, and what it's really running.
@latest means the newest release the day you installed it. Updater shows what runs beside what's published, and updates the ones you pick — every plugin, not just this one.
- /plugins-updateinside OpenCode
- npx opencode-cockpit@latest updatefrom any shell
Install, then /cockpit-setup.
The agent reads your settings, asks only what matters — which bays show, in what order, how quiet when empty — and writes the smallest correct file.
Install
$ opencode plugin opencode-cockpit@0.9.0 --global --force $ opencode plugin add opencode-cockpit@0.9.0
$ opencode service restart # after installing, and after every update Pinned on purpose: OpenCode resolves a plugin once. The same line moves you to a newer release.
Restart OpenCode
Every bay is on. Each one draws its block in the sidebar, or says none yet until it has something.
Type /cockpit-setup
Put your agent on instruments.
$ opencode plugin opencode-cockpit@0.9.0 --global --force $ opencode plugin add opencode-cockpit@0.9.0
$ opencode service restart # after installing, and after every update