Skip to content

Shell commands

A message that starts with ! is a shell command you run yourself, as in Claude Code. desk runs it with bash in the card’s folder, right away: no Claude, no permission prompt. Its output streams into the conversation. When it ends, Claude gets the command, its output, its exit code and how long it took, and carries on by itself.

  1. Type ! and the command in the message box. The box turns orange and warns you where it will run: “WARNING: runs directly in ~/Work/Globex/billing, now: no Claude, no approval”. Send becomes Run.

    The message box in orange with the warning, “!go test -v -run ‘S3|Multipart’ ./export/…” and a Run button

    A ! command, about to run.
  2. Press Enter or Run. A You ran box shows the command, “running…”, and its output as it comes, twice a second.

    The You ran box with the command, “running…” and four lines of test output; the message box is locked and offers Stop command

    While it runs, the message box is locked. Stop command ends it.
  3. When it ends, the box says how it ended and how long it took, and that its output went to Claude. Claude takes it from there.

    The You ran box: “exit 0 · 3.8s · sent to Claude” and the whole output, then Claude’s reply

    The command ended with exit 0, and Claude answered.

While the command runs:

  • The card is working, on your command: its status line reads “Running your command: …”. A card in Backlog, To do or Blocked moves to In progress.
  • The message box is locked until the command ends. You can’t send Claude anything meanwhile.
  • Stop command ends it. A command that runs 30 minutes is stopped by itself.

When it ends, the box shows “exit 0”, another exit code, or “stopped”. desk keeps the end of long output. The box stays in the conversation.

Claude describes every shell command it runs in plain words. The description shows under the command’s tool line.

The tool line “Bash go test ./internal/auth/…” with “Run all the auth tests to confirm the fix” and Explain

Claude’s own words for what the command does.

For more, click Explain. Haiku takes the command apart, part by part, in the card’s folder and under its account. “Reading the command…” shows while it works. The answer stays under the command, and desk keeps it for every later use of the same command.

The same tool line with a “What it does · Haiku” box under it: go test builds and runs the tests; ./internal/auth/… is the package and every package under it

Haiku’s breakdown, under the command.

If Haiku can’t answer, the box says why and offers Try again.

A background shell’s own view (see Subagents and shells) asks Haiku by itself: its command, what it does, then its output.

The full window showing the background shell “Integration tests”: its command, Haiku’s breakdown and its output