Skip to content
YottaCode v0.2.0 is out! ๐ŸŽ‰ See the release notes โ†—

Sessions

Sessions preserve your conversation history, tool calls, and tool results across restarts.

How sessions are saved

Every completed turn is saved atomically to:

~/.yottacode/sessions/<id>.json

Session ids are timestamp-like strings, for example:

20260426-150100.123456

There is no manual save step.

Each user message in a session also gets a per-prompt checkpoint capturing the conversation and any files the agent is about to touch. Open the picker mid-session via /checkpoints or Esc Esc to restore conversation, files, or both. See tui-slash-commands.md.

Token usage (input, output, and any prompt-cache hits) is recorded per turn alongside the assistant message and accumulated into per-model totals on the session. See /usage for how those totals surface.

List sessions

yottacode sessions list
yottacode sessions list --json

In the TUI:

/sessions

Resume a session

yottacode sessions resume <id-or-name>
yottacode --resume <id-or-name>
yottacode --continue                  # the most recent session in this directory
yottacode -c                          # short form

--continue (mirrors Claude Code’s flag) skips the picker and resumes the newest saved session whose cwd matches the current directory โ€” useful for “I quit a few minutes ago and want to pick up where I left off.” When no saved session matches the current directory, --continue errors out with a hint. --continue and --resume are mutually exclusive; pass one or the other.

In the TUI:

/sessions
/sessions <id-or-name>

Runtime flags like --max-iterations and --yolo are not stored in the session. Pass them again when resuming if you need them. Mode state (auto / plan) is also not persisted: a session that ended in auto mode resumes in normal mode, same as Claude Code โ€” use Shift+Tab to re-enter the mode you want.

Summarized resume

Large sessions can consume a lot of context before the first new prompt. Use summarized resume to carry forward the important parts compactly:

yottacode sessions resume <id-or-name> --summarized

In the TUI sessions picker, press s to toggle summarized loading.

Rename a session

yottacode sessions rename <id-or-name> my-feature-work

Names are convenience labels. The canonical identity is still the session id.

Export a session

yottacode sessions export <id-or-name>
yottacode sessions export <id-or-name> path.md
yottacode sessions export <id-or-name> path.md --force

Export writes a readable Markdown transcript with turns, tool calls, and tool output. System messages are omitted.

Search sessions with recall

/recall authentication

Recall uses a local SQLite FTS5 index at:

~/.yottacode/index.sqlite

The index is rebuilt/backfilled automatically from saved session files.

Clear vs delete

/clear saves the current session, then starts a new session with the same system prompt and memory. It does not delete anything.

To delete a session, remove the JSON file:

rm ~/.yottacode/sessions/<id>.json

Summarization snapshots

/summarize writes a pre-compression snapshot before rewriting in-memory history:

~/.yottacode/sessions/<id>-pre-summary-<timestamp>.json

Keep these files if you may need to inspect or restore pre-summary history.