Bug: 2.1.120 crashes on resume via "claude -c" / "claude --continue" (interactive /resume works)

Resolved 💬 6 comments Opened Apr 25, 2026 by diegoesolorzano Closed Apr 27, 2026

Summary

Claude Code 2.1.120 (native install) crashes during REPL mount when resuming the most-recent session via claude -c (--continue). Resuming the same session via claude + /resume (interactive picker) works correctly. So the bug is specific to the auto-continue codepath, not session loading in general.

Environment

  • Claude Code version: 2.1.120
  • Install method: native (bun-bundled binary at ~/.local/share/claude/versions/2.1.120)
  • OS: macOS 26.4.1 (Darwin 25.4.0, arm64 / M-series)
  • Shell: zsh

Reproduction

  1. Have at least one previous session in ~/.claude/projects/<project>/<sessionId>.jsonl.
  2. Run claude -c (or claude --continue).
  3. CLI crashes immediately during REPL mount.

Workaround that succeeds on the same session:

  1. Run claude (no flags).
  2. Type /resume.
  3. Pick the same session from the picker — loads correctly.

So the JSONL is valid; only the -c entrypoint is broken. Reproducible across multiple projects and multiple session files (1MB–18MB).

Error

\\\
ERROR g9H is not a function. (In 'g9H(K)', 'g9H' is undefined)
/\$bunfs/root/src/entrypoints/cli.js:9251:5663
\
\\

Stack:
\\\`

  • <anonymous> (cli.js:9251:5663)
  • WC (cli.js:492:63749)
  • pj (cli.js:492:76948)
  • fT (cli.js:492:76827)
  • pj (cli.js:492:77745)
  • fT (cli.js:492:76827)
  • pj (cli.js:492:76926)
  • fT (cli.js:492:76827)
  • pj (cli.js:492:77745)
  • fT (cli.js:492:76827)
  • async <anonymous> (cli.js:18808:11089)

\\\`

The minified site is in the \useScheduledTasks\ / loop module init region — bundle shows the circular-import pattern \fL3=(LmH(),E8(ZmH))\ wired up via \Bb8=Z(()=>{...})\. The recursive \pj\/\fT\ frames suggest a state-update cascade during the auto-continue resume flow (\tM_\ → \useScheduledTasks\ mount). The fact that \/resume\ from a fresh REPL works points to some difference in initialization order/state when \-c\ is the entrypoint vs. when resume is dispatched after the REPL is already mounted.

Workaround

Either:

  • Use \claude\ + \/resume\ instead of \claude -c\.
  • Roll the symlink back to the previous version:

\\\bash
ln -sfn ~/.local/share/claude/versions/2.1.119 ~/.local/bin/claude
\
\\
2.1.119's \claude -c\ works correctly.

View original on GitHub ↗

This issue has 6 comments on GitHub. Read the full discussion on GitHub ↗