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
| Command | What it does |
|---|---|
/new | Start a fresh session |
/name <label> / /rename | Set the current session's display name (persisted) |
/session | Show info about the current session |
/resume [id] | Resume a previous session — opens a picker, or jumps straight to id |
/compact | Summarize 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.
/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.
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/.