projects/<project>/<session>.jsonl | Conversation transcript: messages, tool calls, and tool results, plus the system prompt, tool definitions, and parameters of the requests Claude Code sent the model |
projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl, projects/<project>/<session>.jsonl.superseded-<timestamp> | A previous transcript for the session that Claude Code set aside instead of overwriting or deleting it. It doesn’t appear in the session picker |
projects/<project>/<session>/subagents/ | Subagent transcripts in the same format as the session transcript, removed with the parent session transcript when it ages out |
projects/<project>/<session>/tool-results/ | Large tool outputs spilled to separate files, and full-size copies of images that MCP tools return |
projects/<project>/<session>/mcp-tasks/ | What a resumed session needs to follow its running MCP tasks again, and the results of finished tasks that Claude hasn’t read yet |
file-history/<session>/ | Pre-edit snapshots of files Claude changed, used for checkpoint restore. Holds snapshots for the 100 most recent checkpoints; snapshot files that no retained checkpoint references are deleted, except each file’s first snapshot |
plans/ | Plan files written during plan mode |
debug/ | Per-session debug logs, written while debug logging is on, such as when you start with --debug or run /debug |
paste-cache/ | Contents of large pastes |
image-cache/<session>/ | Attached images saved by Claude Code v2.1.274 and earlier. Later versions save pasted and attached images outside ~/.claude, in an images/ directory for each session under the temp directory that CLAUDE_CODE_TMPDIR controls. The sweep removes other sessions’ leftover directories here, whatever their age. |
uploads/<session>/ | Files you attach from the web or mobile app, and photos you attach from the mobile app, when messaging a Remote Control session. An attachment to a cloud session is saved in that session’s own cloud environment instead, not on your machine. |
dev-mods/<session>/ | Mods that Claude wrote during the session |
session-env/ | Per-session environment metadata |
tasks/ | Task lists written by the task tools, one directory per list |
shell-snapshots/ | Aliases, functions, and shell options captured at startup and applied by the Bash tool to each command. Removed on clean exit. The sweep clears any left after a crash. |
backups/ | Earlier versions of ~/.claude.json, copied when Claude Code rewrites the file. Claude Code keeps the five newest, plus a copy of any version it couldn’t parse. |
feedback-bundles/ | Redacted transcript archives written by /feedback on third-party providers or when no Anthropic credentials are configured, for sending to your Anthropic account team |
feedback/drafts/ | Queued Claude-drafted feedback awaiting your review in /feedback. Swept after cleanupPeriodDays or 30 days, whichever is shorter. When the queue is at its 10-draft limit, Claude Code deletes the oldest draft to make room. |
usage-data/ | report.html and timestamped report copies written by /insights, plus cached per-session analysis data used to build them |
skills/.trash/, plugins/.trash/ | Skills and plugins that the claude.ai sync removed, such as after you turn one off on claude.ai or stop syncing. The files stay here so you can recover them until the sweep deletes them |
plugins/installed_plugins.set-aside.<date>.<hash>.json, plugins/installed_plugins.unreadable.<date>.<hash>.kept | Dated copies Claude Code makes before rewriting installed_plugins.json: install records it dropped, and the contents of a file it couldn’t read. |
todos/, statsig/, logs/ | Legacy directories from older versions. No longer written. The sweep removes their contents and then the empty directory. |