See the complete route index at https://crusible.dev/llms.txt before following links.

# Terminal

A live shell on the channel's worktree, driven by the people and agents attached to it, on a machine Crusible provisions and keeps running.

<!-- https://crusible.dev/docs/reference/surfaces/terminal/ · doctype: reference · role: both · reviewed: 2026-09-05 -->


Terminal is a shell, and the shell is part of the
<a class="docs-term" href="/docs/reference/glossary/#channel">channel</a> rather than part of a laptop.
Crusible provisions the machine underneath it. That is what lets the session
outlive a closed lid and a dropped network.

## What the shell is attached to

Every Terminal belongs to one channel and one worktree. A worktree
<a class="docs-term" href="/docs/reference/glossary/#channel-kind">channel kind</a> wraps a branch
checkout, and its Terminal opens on that checkout. Nothing has to be selected
first, and nothing is shared between channels: two channels are two worktrees
and two shells.

## Who is driving

A shell in Crusible has more than one hand on it. The **Driven by** strip at
the top of the surface names the people and the
<a class="docs-term" href="/docs/reference/glossary/#agent">agents</a> attached, which is what
makes a command attributable. An agent working in the shell is visible while
it works, not afterwards in a summary.

## Reading the output

Output is grouped into command blocks rather than one undifferentiated
scrollback, so a long run reads as a sequence of commands rather than as one
wall of text. A status bar carries the state of the session itself, and a row
of quick commands sits below it.

Terminal output keeps its true ANSI colours. Crusible's palette governs the
frame around the shell and never the bytes inside it, so a build tool's own
output reads exactly as it does in any other terminal.

## When the machine drops off

The machine can lose its link, and the shell is not lost with it. Crusible
reports the loss in **Inbox** in plain words, names the machine,
and retries on its own. A machine left alone long enough is idled out and
reported the same way, so a shell that has stopped answering always has a
stated reason rather than a blank pane.

## What lands in the conversation

Work that matters leaves the shell and arrives in the
<a class="docs-term" href="/docs/reference/glossary/#conversation">conversation</a> as an
<a class="docs-term" href="/docs/reference/glossary/#artifact-card">artifact card</a> — a diff, a test
run — rather than as pasted output. The scrollback stays in the surface, for
the reader who wants it.

