ThinkFacility

Error messages

No conversation found with session ID

The message

No conversation found with session ID
Claude Code 2.1.282 read September 25, 2026Claude Codesessions--resume

What it means

claude --resume was given a session ID and couldn't find a saved transcript for it with any messages in it, so it exited instead of starting the session.

What to do

Run claude --resume with no ID and press Ctrl+A to list sessions from every project. For a -p run, use the session_id from its JSON output.

You gave claude --resume (or claude -p --resume) a session ID, and Claude Code couldn't match it to a saved conversation:

No conversation found with session ID: 553755dd-186d-4058-a2b5-b528b2483659

It exits with code 1 and doesn't start anything. I read the lookup in Claude Code 2.1.282 to see where it actually searches, because the answer explains most of the 104 GitHub issues quoting this line.

Where Claude Code keeps sessions

Every session is a JSONL file named after its ID, inside a folder named after the directory you started in. The root is ~/.claude/projects, or projects under CLAUDE_CONFIG_DIR if you've set that variable. On my machine a session started in /home/think lives at ~/.claude/projects/-home-think/<id>.jsonl. So you can check for yourself in one line:

ls ~/.claude/projects/*/553755dd-186d-4058-a2b5-b528b2483659.jsonl

The order it searches in

First the folder for your current directory. Then the folders for every git worktree of the repo you're in (a worktree being a second checkout of the same repo in another directory). Then, as a last resort, it scans every folder under projects for a file with that name. Anthropic's error reference says that last step arrived in 2.1.223, so on anything older you have to run the command from the directory the session belonged to.

Two details in the scan caught me out. If more than one project folder holds a file with the ID, it gives up and reports nothing found, rather than guess (the docs mention this happening when someone copies a project folder). And a file only counts if it holds at least one line from you or from Claude. A transcript with nothing but settings and titles in it is treated as no conversation at all.

Why a session you can see goes missing

The plain cases first. The ID is mistyped, or it belongs to another machine, since transcripts are stored locally. Or the transcript is gone, because Claude Code deletes transcripts older than cleanupPeriodDays, 30 days by default. If you run with a different CLAUDE_CONFIG_DIR than the session did (a container, a second account, a CI job), you're looking in a different projects folder entirely.

The stranger ones come from the issues. In July someone moved their project directory from inside a running session, on 2.1.220, and found --resume broken from both the old and new paths, because the transcript stays filed under the path the session started in. A Claude Code collaborator retested on 2.1.233 and found resuming by ID now works from either path (the picker still trips over it). Another report found 27 sessions whose files had been cut down to metadata with "zero user/assistant records", which is exactly the shape the lookup skips. And the desktop app's session tools hand out IDs with a local_ prefix: pass one as-is and -p refuses it as "not a UUID"; strip the prefix and one September report on Windows still got this error for a session two minutes old.

What to do

For an interactive session, drop the ID. Run claude --resume to get the picker and press Ctrl+A to widen it to every project on the machine, which sidesteps the directory question. If the session isn't there, the file probably isn't either.

Sessions from claude -p and the Agent SDK don't appear in the picker, according to the docs. For those, the right ID is the session_id field that --output-format json printed on the original run, and it's worth logging it when you start a job you'll want to continue.

The --continue version

claude --continue doesn't take an ID; it picks the newest conversation for your directory. When there's nothing to pick it says No conversation found to continue, meaning Claude Code found no saved session it could use for the directory you're in. If the newest one is still running in the background, you'll get a message naming that session instead, pointing you at claude agents.

Other lines the same feature prints

Match yours against these if the one at the top of the page is not quite it. They come from the same code and mean related things.

  • No conversation found with session ID: <session-id>
  • No conversation found to continue
  • Error: --resume requires a valid session ID or session title when used with --print. Usage: claude -p --resume <session-id|title>
  • is not a UUID and does not match any session title.