Last reviewed
Correct answer: D. Two identifiers, each holding the shared history plus its own work since the fork
Explanation
The principle — a fork is a copy taken at a moment in time, and the two halves stop influencing each other immediately afterwards.
Why the key is correct — Anthropic separates the two operations explicitly. Resuming a session reopens it under the same session ID and appends new messages to the existing conversation; forking copies the history into a new session ID, leaving the original unchanged. Trace the sequence with those two rules and the result falls out. The first hour belongs to identifier one. The fork produces identifier two, which begins life holding a copy of that hour. Work inside the fork lands on identifier two only, because the original was left unchanged at the moment of copying. The next morning you reopen identifier one and append to it, which touches nothing belonging to identifier two. Both now hold the same first hour, and each holds its own work since.
Why the others are wrong — a single identifier would require the fork to rename rather than copy, and there would then be no original left to return to. Having the fork's later work appear in the original describes a link that is severed the instant the copy is taken, and it would remove the whole reason to fork before something risky. Reopening pruning later messages inverts what resuming does, which is to append; it also has no reach into another identifier's history.
Remember this — fork to branch, resume to continue. After the fork the two never speak again.
Sources — Anthropic's How Claude Code works and the Claude Code glossary.
Sources
“Forking with --fork-session or /branch copies the history into a new session ID, leaving the original unchanged.”
“Running /clear starts a new session; the previous one stays stored and is available via /resume.”
Practise 10 questions on this topic
Take Claude Code Basics — Timed Test 2 (10 questions) — scored instantly, explanation for every question, no login.