Your first session
The windows on this page are drawn live by Cockpit’s own code — the same renderers that run in your terminal — playing a sample session.
Set it up in one sentence
Section titled “Set it up in one sentence”After installing and restarting OpenCode, type:
/cockpit-setup
The agent reads what is installed and what your settings say, fixes anything from before 0.9 first, and then asks only what is left: which blocks the sidebar shows, in what order, and whether an empty one stays. It writes the smallest file that does it and reads it back. Run it again whenever you want a change — or just ask: “make my sidebar quieter”, “move trail above subagents”. Every setting it can write is in Configuration.
Ask for something long-running
Section titled “Ask for something long-running”Ask the agent for something that cannot finish inside a tool call:
start the dev server, wait until it’s listening, then tell me the url
Three things happen, and none of them need you.
It chooses the tool. shell_start is described to the model as the thing to use for anything
long-running or interactive, so a dev server goes there instead of into bash.
It waits on the real signal. waitFor: { port: 5173 } returns the moment the port answers —
not after a sleep, not after a guess.
It keeps the shell. The process is owned by the daemon, so it is still running after the turn ends, and it shows up in the panel and the sidebar. A test run that fails tells the agent once, with the failing line.
| Key | What it does |
|---|---|
| ctrl+x o | Toggle the panel under the conversation |
| ctrl+x j | Open the full console |
| ← → | The previous or next shell, in the console |
| / | Filter the log, in the console |
| ? | Details for the selected shell |
Now ask it to change something
Section titled “Now ask it to change something”add a coupon code to the checkout total
When it finishes, do not read the diff in the chat. Press ctrl+x v — or type
/changes — and read it where the work happened.
Move with j and k, enter into a file, and when a line is wrong press c and say why. Nothing has been sent yet. space marks a file read and moves you to the next one; s hands the whole review over.
Then watch what the agent does with it: review_list gives it every comment with the code each one
is about, it changes what needs changing, and review_reply resolved=true closes the thread — which
only counts if the file actually changed. Your comments stay on the branch, so tomorrow’s
conversation still has them.
And the table in the sidebar
Section titled “And the table in the sidebar”If you installed the bundle you already have the statusline, at the top of the sidebar: how full the
context is, where the tokens went, a proxy’s budget, what has changed. It answers the questions you
would otherwise ask by leaving — and every part of it is a segment you can reshape, recolour or
write yourself (/status-setup designs it with you).
What to try next
Section titled “What to try next”- “Run the test suite in the background and tell me if it fails.”
- “Watch tsc and let me know when it breaks.”
- “Open a node REPL and check what
new URL('..', import.meta.url)returns.” - Leave a comment on a line you disagree with, submit, and let it answer — then look at the thread.
- “Read the diff and leave review comments on anything you would want a second opinion on.” The agent can open threads of its own, and they outlive the conversation.