TECHNICAL GUIDE · Reviewed September 10, 2026

Find and View Claude Code Session History

A saved conversation, a resumable session and a monitoring trace answer different questions. Start with the local JSONL file when you need to know what actually happened.

Where Claude Code stores session history

Claude Code writes local session transcripts under ~/.claude/projects/. Project directories contain session JSONL files; a custom configuration directory can change the base path. Each line is a separate JSON record, not one large JSON document. A transcript can contain messages, tool calls, results and administrative records.

# List transcript files without printing their contents
find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/projects" -type f -name '*.jsonl'

Use the file timestamps and session identifiers to find the relevant run. Do not assume that alphabetical file order is conversation order or that every JSONL file is a main-agent session. See Anthropic’s session storage and continuity documentation.

Resume a conversation or inspect a completed run

# Continue the most recent session in the current directory
claude --continue

# Choose an earlier session
claude --resume

Resume when you want Claude to keep working. To review evidence without generating another response, open the transcript in the Claude Code session viewer. Choosing a file in that viewer parses it in your browser; it does not upload the transcript.

  1. Open the viewer and choose the relevant .jsonl file.
  2. Search for the request, a tool name or an error string.
  3. Read the tool input together with its result and the following assistant response.
  4. Use the timeline to locate the surrounding work; export the parsed JSON if you need a portable copy.

What history can and cannot recover

A final answer does not describe all failed commands or retries. A transcript provides those records when they were saved. It cannot recover files that were deleted, unrecorded tool output or a separate subagent transcript you have not loaded.

Compaction changes the context available to later model turns. A transcript and the model’s current context are therefore not interchangeable. Preserve the original file before applying cleanup or retention changes.

If a session appears incomplete, check that you selected the right project, that the process finished flushing records, and whether child-agent files exist alongside the main session. The subagent debugging guide explains why a parent’s returned summary is not the full child conversation.

Connect history to cost and ongoing monitoring

Use the Claude Code cost and usage tracker to inspect recorded token usage. Its list-price estimate is not a subscription invoice, and missing usage fields are not proof of zero cost.

For sessions you want collected automatically, set up Claude Code monitoring. Review redaction and sharing settings before syncing: local files can contain code, prompts, command output and secrets. Existing token-bearing share links are unlisted, not permission to publish the transcript to search engines.