[BUG] CLI/extension version mismatch causes silent crash surfaced as "Interrupted · What should Claude do instead?"

Resolved 💬 3 comments Opened Apr 27, 2026 by alycda Closed Apr 28, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Every message sent in Claude Code (both terminal and VSCode panel) immediately returns "Interrupted · What should Claude do instead?" with no other error message or indication of what went wrong. The session appears to connect and initialize successfully, then fails silently on every first message.

The actual error, only visible in ~/.claude/debug/latest, is:

[ERROR] TypeError: Cannot read properties of null (reading 'effortLevel')
    at hH0 (cli.js:1845:3909)
    at ew (cli.js:2207:4166)
    ...

This is caused by a version mismatch between the CLI (2.0.76, managed via nix) and the VSCode extension (2.1.118). The extension sends an effort-level configuration in its spawn payload that 2.0.76 does not handle — it reads null where 2.1.x expects an object, throws, and the session dies. The error is completely invisible to the user.

What Should Happen?

Either:

  • The CLI should handle a null effort config gracefully (null guard), or
  • The CLI/extension should detect the version mismatch at spawn time and surface a clear error ("CLI version X is incompatible with extension version Y, please update") rather than crashing silently

At minimum, the crash should not surface to the user as "Interrupted · What should Claude do instead?" — that message implies the user interrupted something, which is misleading when the underlying process died from an unhandled exception.

Error Messages/Logs

[ERROR] TypeError: TypeError: Cannot read properties of null (reading 'effortLevel')
    at hH0 (file:///nix/store/4bmhj54qyccbs7m43vfv804j5dff6aw9-claude-code-2.0.76/lib/node_modules/@anthropic-ai/claude-code/cli.js:1845:3909)
    at ew (file:///nix/store/4bmhj54qyccbs7m43vfv804j5dff6aw9-claude-code-2.0.76/lib/node_modules/@anthropic-ai/claude-code/cli.js:2207:4166)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
    at async file:///nix/store/.../cli.js:2709:1990
    at async file:///nix/store/.../cli.js:2709:2831
    at async J07 (file:///nix/store/.../cli.js:2640:4939)
    at async rK1 (file:///nix/store/.../cli.js:2640:3678)
    at async file:///nix/store/.../cli.js:2709:3796
    at async file:///nix/store/.../cli.js:2625:3877


The debug log also shows startup completing successfully immediately before the crash, confirming auth, MCP, and connection are all fine — the crash happens specifically at `UserPromptSubmit`, on every message.

Steps to Reproduce

  1. Install claude-code CLI at version 2.0.76 via nix (or any package manager pinned to 2.0.76)
  2. Install VSCode extension version 2.1.118
  3. Open any workspace in VSCode with the Claude Code panel
  4. Send any message — including trivial ones like say hello
  5. Observe: "Interrupted · What should Claude do instead?" immediately, every time
  6. Check ~/.claude/debug/latest to find the actual error hidden there

The same crash occurs in the terminal CLI directly (claude --model haiku, then say hello) — this is not VSCode-specific. The mismatch alone is sufficient to trigger it.

Workaround: Update the CLI to 2.1.x to match the extension version. (this was not an obvious fix since I had just updated my flake lockfile 3 days ago and this was working fine, broken on monday)

Claude Model

Not sure / Multiple models

Is this a regression?

Yes, this worked in a previous version

Last Working Version

https://github.com/alycda/dotfiles/commit/ce8a4b8163b0d71b8deef0b522110418a1b09548

Claude Code Version

2.0.76

Platform

Anthropic API

Operating System

Other

Terminal/Shell

Other

Additional Information

OS: macOS (nix-darwin, Apple Silicon M-series)
Terminal/Shell: VS Code integrated terminal + OSX Terminal

The CLI is managed via nix-darwin/home-manager. The nix claude-code package was pinned to 2.0.76 while the VSCode extension auto-updated to 2.1.118, creating the mismatch. Users managing the CLI via nix or other package managers with pinned versions are likely to hit this whenever the extension auto-updates past a breaking change boundary. The effortLevel property appears to have been introduced in the 2.1.x series (changelog notes effort-level features throughout 2.1.x) and is not null-guarded in 2.0.76.

View original on GitHub ↗

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