Skip to content

Use history, branches, and recovery

Open the history graph to inspect the conversation tree, minimap, entry details, and segments. Navigating to an earlier entry makes that lineage active. New work from there creates a branch while the rest of the stored tree remains available.

Optional navigation summarization is extractive: Nerve assembles a local branch summary from discarded messages and writes a branch_summary system entry. It does not call a model for that operation.

Nerve workbenchThe Nerve conversation history graph zoomed into a cluster where several branches diverge, with the selected entry shown in the details paneThe Nerve conversation history graph zoomed into a cluster where several branches diverge, with the selected entry shown in the details pane
What to notice: What to notice: each fork is a point where work continued from an earlier entry. The original lineage is still there — nothing was overwritten to make room for the new branch.

Choose edit on a user entry. Nerve navigates to its parent, copies the old text into the composer, and focuses the editor. Review and send manually; editing never resubmits automatically.

Automatic compaction defaults to a balanced profile that triggers near 80% context use. Aggressive and conservative profiles trigger at 70% and 90%; Custom chooses a trigger from 60–90%. Every profile, manual compaction, and subagents retain a target of about 10,000 estimated tokens of recent messages, plus a summary of older history. Retention is not configurable and does not scale with the model’s context window. Small or unknown context windows can reduce the target to preserve headroom for the summary. A run can automatically continue after compaction up to three times.

While compaction runs, its transcript card previews the checkpoint as it is generated. You can switch conversations and return without losing the active preview; sending is paused until the operation settles. Automatic compaction keeps the existing conversation timer running rather than starting a separate timer. A stopped or failed draft is not a saved checkpoint, and the existing context remains unchanged. In-progress previews are runtime state, not durable history across daemon restarts.

Compaction keeps recent messages intact, including provider reasoning state. Retention estimates account for signed reasoning using individual assistant output usage where available. Tool calls and their results stay together; one oversized newest group may exceed the retention target and is reported as a warning.

New checkpoints target about 3,000 estimated text tokens, with a ceiling of 4,000 or less for smaller model/reserve budgets. Repeated checkpoints consolidate current state rather than accumulate a history of completed steps. Invalid or truncated summaries get one repair attempt; if that fails, or a model is unavailable, compaction fails without replacing the current context. Manual compaction also rejects results that would not reduce estimated retained context.

The “after” and “freed” figures are approximate conversation-content estimates, not full provider-request measurements. System instructions, tool schemas, images, and provider accounting can change the next measured total. The context meter is unknown immediately after compaction and becomes authoritative again after a fresh provider response. Stored transcript history is not deleted.

Compaction summarizes earlier work. Important file-operation context is preserved where possible, but summaries are lossy; keep durable requirements in project resources or restate them.

Host retries are enabled by default for retryable failures: three retries with a 2-second exponential base delay, for four total attempts. Provider-library request retries are a separate layer and should not be assumed to share the same classification.

After daemon restart, Nerve reconciles pending tool calls, queued input, and async Bash records. An open execution without pending tool work becomes interrupted. Recovery does not silently rerun the old provider execution; new deliverable queued input can wake a conversation. Inspect the last stored messages and tool results before continuing with a follow-up prompt.

Background work is separate from model execution. Explicit and auto-promoted async Bash runs always queue completion notices, and launches started by an agent notify the starting conversation when they exit on their own. Sub-agents deliver a completion notice to their lead when each execution finishes. A daemon restart does not recover processes: async Bash becomes lost, and launch instances are memory-only. Durable launch definitions and retained output remain available for inspection and a fresh start.