# Session recording (/docs/developers/session-recording)



A coding session is a conversation between a coworker and an AI coworker — the questions, the reasoning, the decisions, the code that came out of it. ox captures that as institutional memory so the next person, human or AI, doesn't re-solve a solved problem.

Why record sessions [#why-record-sessions]

The hardest part of a problem is rarely the final diff — it's the path that got you there. Which approaches were tried and abandoned, why one design won, what constraint forced the awkward workaround.

That reasoning usually evaporates the moment the session ends. Recording sessions keeps it. Teammates learn how a problem was actually solved, and future agents prime on it instead of starting cold.

How it works [#how-it-works]

When a session ends, ox commits it to the **Ledger** — the per-repo history of code work. Each session is summarized automatically, so you get a readable account without writing one by hand.

The Ledger is per-repo and distinct from [Team Context](/docs/features/team-context), which is team-wide. Sessions are code work; discussions and conventions live in Team Context.

How your team gains value [#how-your-team-gains-value]

Recorded sessions turn one person's debugging run into a resource the whole team draws on.

* **Search prior work.** Ask `ox query` a question and get back relevant past sessions instead of re-deriving the answer.
* **See recent activity.** Browse what teammates and their agents have been working on across the repo.
* **Avoid re-solving solved problems.** When local recall finds a matching session, it surfaces it before your agent starts — so you reuse the answer rather than rediscover it.

<Terminal>
  <TerminalComment>
    Ask a question across past sessions and team knowledge
  </TerminalComment>

  <TerminalCommand>
    ox query "how did we handle pagination on the activity feed?"
  </TerminalCommand>
</Terminal>

View and use recordings [#view-and-use-recordings]

List recent sessions and open the one you want straight from the CLI.

<Terminal>
  <TerminalComment>
    List recent sessions in the Ledger
  </TerminalComment>

  <TerminalCommand>
    ox session list --limit 5
  </TerminalCommand>

  <TerminalComment>
    Open a session by name
  </TerminalComment>

  <TerminalCommand>
    ox session view 2026-04-13-auth-refactor
  </TerminalCommand>
</Terminal>

Beyond manual viewing, recorded sessions feed back into [priming](/docs/developers/how-it-works). When a future agent starts in the repo, relevant prior sessions are part of the context it receives — so the value compounds without anyone reading a single transcript.

What's next [#whats-next]

* [How it works](/docs/developers/how-it-works) — where session capture fits in the loop
* [ox session reference](/docs/cli/commands/session) — every session subcommand
* [Team Context](/docs/features/team-context) — team-wide knowledge, versus the per-repo Ledger
