Regression in 2.1.111/2.1.112: AskUserQuestion crashes CLI during team-mode coordination

Resolved 💬 3 comments Opened Apr 17, 2026 by wogkszla Closed Apr 18, 2026

Title: Regression in 2.1.111/2.1.112: AskUserQuestion crashes CLI during team-mode coordination

Body:

Summary

Starting from 2.1.111, the CLI crashes when a team-mode coordinator subagent triggers an AskUserQuestion-like flow against the main thread. 2.1.110 is the last known good version.

Environment

  • Claude Code versions tested:
  • ✅ 2.1.110 — works
  • ❌ 2.1.111 — crashes (installed 2026-04-17 01:06 UTC)
  • ❌ 2.1.112 — crashes (installed 2026-04-17 05:10 UTC)
  • Install method: native installer (bun-packaged binary at ~/.local/share/claude/versions/<ver>)
  • OS: Linux 6.8.0-94-generic (Ubuntu-like), Rocky 9 family
  • Shell: bash
  • Relevant env flags:
  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
  • CLAUDE_CODE_NO_FLICKER=1
  • CLAUDE_CODE_SUBAGENT_MODEL=opus[1m]
  • Enabled plugins: skill-creator@claude-plugins-official, codex@openai-codex, context7@claude-plugins-official

Reproduction

  1. Running on 2.1.111 or 2.1.112 with agent-teams experimental flag enabled.
  2. Invoke a team-mode workflow (in my case a project-local /review-feature slash command with a team coordinator agent).
  3. Coordinator subagent requests input from main via an AskUserQuestion-style elicitation.
  4. CLI throws an uncaught exception in the React render path at cli.js:8233:15642 and the session becomes unusable.

Rolling back the symlink to 2.1.110 restores normal behavior with zero other changes.

Stack trace

<anonymous> (/$bunfs/root/src/entrypoints/cli.js:8233:15642)
$2 (/$bunfs/root/src/entrypoints/cli.js:477:63169)
aLH (.../cli.js:477:76220)
rV  (.../cli.js:477:76101)
aLH (.../cli.js:477:76199)
rV  (.../cli.js:477:76101)
aLH (.../cli.js:477:76199)
rV  (.../cli.js:477:76101)
aLH (.../cli.js:477:77010)
rV  (.../cli.js:477:76101)

The aLH → rV → aLH → rV ... pattern is the React reconciler retrying the same render; the exception happens inside the AskUserQuestion component render cycle.

Code neighborhood (from the minified bundle at 8233)

Q("tengu_ask_user_question_finish_plan_interview", { source: Z, questionCount: O.length, isInPlanMode: n, interviewPhaseEnabled: n && lw() });
let oH = await xM6(F, i);
K(); q.onReject(L$, oH && oH.length > 0 ? oH : void 0);
async function xM6(H, $) {
  if (H.length === 0) return;            // returns undefined when H is empty
  return Promise.all(H.map(async (q) => {
    let { block: K } = await KE({ data: q.content, mediaType: q.mediaType, limits: $ });
    return K;
  }));
}

Suspicion: xM6 returns undefined in the empty-input path while callers on the finish_plan_interview / reject path may access .length or iterate without guarding, causing the crash to loop through the render tree.

Workaround

ln -sfn ~/.local/share/claude/versions/2.1.110 ~/.local/bin/claude
# Optional: pin via settings.json env
#   "DISABLE_AUTOUPDATER": "1"

Request

  • Please confirm the regression range (2.1.110 → 2.1.111) and ship a fix on the latest channel.
  • If a diagnostic build with debug symbols is helpful, happy to run it.

Thanks.

View original on GitHub ↗

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