Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content
Using the harness

Sessions

Every conversation is persisted as an append-only session — a JSONL log of turns stored under ~/.minima-harness/sessions/<session-id>.jsonl. Because entries are only ever appended, you can branch from any point in the history rather than losing it.

Session commands

CommandWhat it does
/newStart a fresh session
/name <label> / /renameSet the current session's display name (persisted)
/sessionShow info about the current session
/resume [id]Resume a previous session — opens a picker, or jumps straight to id
/compactSummarize older turns to free up context

(/fork and /clone are reserved for planned session branching but not implemented yet — use /resume or /new for now.)

Rewind and checkpoints

Within a session, you don't need branching to change your mind: every mutating tool call is preceded by a git-shadow checkpoint, so /undo restores the pre-change state (and stacks), and /rewind jumps back to any earlier prompt — restoring the conversation, the code, or both. /ckpt lists the checkpoints. Resuming a session re-runs its verification checks, so a stale "green" from a previous run never carries over unexamined — see Under the hood.

💡Tip

/tree shows the live sub-agent panel, not the session tree.

Managing context

Long sessions eventually fill the model's context window (watch the context percentage in the status bar). /compact summarizes older turns into a compact form so the conversation can continue without hitting the limit — recent turns are preserved verbatim.

ℹ️Note

Resuming a session restores its message history so routing and the agent pick up where you left off. Sessions are local to your machine, under ~/.minima-harness/sessions/.