Claude Code AskUserQuestion Frozen? Recover Without Killing the Session

Claude Code AskUserQuestion Frozen? Recover Without Killing the Session

Aident AI

A cyan oval pauses between a violet fold and an opening coral crescent over a calm emerald field.

Claude Code AskUserQuestion Frozen? Recover Without Killing the Session

If a visible AskUserQuestion card stops accepting every key after you return to Claude Code, press Ctrl+C once. In the currently reported failure, that dismisses the broken question card and returns you to the chat prompt without killing the session. Then ask Claude to repeat the question without option previews.

This workaround applies to a narrow open bug: the question includes previews, it renders while the terminal is out of focus, and you return more than about 90 seconds later. It is not a confirmed upstream fix, and it is different from a question that never appears or one that times out with a message.

Identify Which AskUserQuestion Failure You Have

Do not change hooks or reinstall Claude Code until you separate these similar symptoms:

What you see

Likely boundary

First safe action

The question card is visible, but arrows, numbers, j/k, n, and Esc do nothing after you return

Preview card lost keyboard handling after rendering while the terminal was blurred

Press Ctrl+C once, then repeat without previews

No response after 60s - continued without an answer appears

The older away-from-keyboard timeout behavior

Check the current timeout setting and version; do not treat it as the frozen-preview bug

No question card appears and Claude reports a missing tool result

A hook may be deferring AskUserQuestion

Audit PreToolUse rules and remove an accidental defer path

The whole terminal ignores input, including the normal shell

A broader terminal or process failure

Test a new terminal tab before changing Claude settings

The distinction matters. The frozen-preview report shows that the Claude process remains alive. Only the rendered question card stops processing keys. A broad configuration reset can destroy useful evidence without fixing that UI state.

Recover the Current Session

Use this order:

  1. Click the terminal once to make sure it has focus.

  2. Try one ordinary navigation key, such as the down arrow.

  3. If every key remains dead, press Ctrl+C once.

  4. Confirm that the question card closes and the normal Claude Code input returns.

  5. Tell Claude: Repeat the last question without previews. Do not continue until I answer.

  6. Answer the repeated plain-text question.

Do not repeatedly press Ctrl+C. The open report says one press dismisses the card without ending the session, but additional interrupts can affect whatever runs next. Also avoid closing the terminal, killing the process, deleting session files, or starting a new conversation until the single-interrupt recovery fails.

If the normal input returns, the session is preserved. You should still review the next assistant response to confirm Claude did not silently choose an option while the card was stuck.

Confirm the Three-Part Signature

The August 7 report isolated three conditions that were all present in failing runs:

  1. At least one option had a preview value.

  2. The terminal was blurred when the question rendered.

  3. Focus returned more than roughly 90 seconds after the card rendered.

The reporter reproduced the failure in Claude Code 2.1.223 and 2.1.224 on macOS, in iTerm2 and Ghostty, with and without a terminal multiplexer. Both mouse clicks and Cmd+Tab could restore focus, so the focus-return method was not the deciding factor.

Control runs are more useful than random changes. The report found that each of these controls worked:

  • a preview card that rendered while the terminal was focused;

  • a preview card refocused after 72 seconds;

  • a plain question with no previews, even after a longer wait;

  • a session that was blurred for more than two minutes when the card itself rendered while focused.

That evidence points to the rendered preview component and timing boundary, not the input method, terminal emulator, multiplexer, total time away, or macOS Space transition.

Reproduce It Without Risking Real Work

Use a temporary session in an empty directory. Do not reproduce this during a deployment, database decision, destructive command, or approval flow.

Start Claude Code and use the issue reporter's minimal prompt:

Use AskUserQuestion to ask me one question with three options, and attach a preview string to each option

Before the question appears, switch to another application. Wait about two minutes, return, and test the arrow keys. If the card is frozen, press Ctrl+C once.

Then run the control:

Use AskUserQuestion to ask me one question with three options. Do not attach previews

Repeat the same focus timing. The plain card should accept input. This pair is stronger evidence than a single failed run because it changes only the preview condition.

Stop after one failing and one passing run. Repeated reproduction does not improve the workaround and can make session logs harder to interpret.

Capture Focus Timing Carefully

If you need evidence for an upstream report, start a disposable session with:

claude --debug

Record only the relevant timestamps:

  • when terminal focus changes to blurred;

  • when AskUserQuestion runs;

  • when focus returns;

  • when the slow permission decision is logged.

The open issue's failing example had the question render while blurred, then focus return about 92 seconds later. A passing control returned after 72 seconds. These observations bound the current report; they do not establish a permanent universal timeout.

Debug logs can contain prompts, paths, repository names, and other sensitive context. Redact unrelated content before sharing an excerpt. Do not upload the entire log merely to prove four timestamps.

Avoid the Bug Until It Is Fixed

Use one of these temporary controls:

  • keep the terminal focused until a pending question card appears;

  • ask Claude to use plain options without previews;

  • keep real approvals separate from visual comparison questions;

  • update Claude Code, then check the upstream issue before assuming the bug still applies.

For an SDK application, Anthropic's current documentation says option previews are optional. TypeScript apps add them with toolConfig.askUserQuestion.previewFormat; without that setting, the preview field is absent. That makes disabling previews a scoped containment option for an affected application, but test the visual tradeoff before changing a shared production interface.

Do not add a shell alias that converts every Ctrl+C into another action. The safe workaround is the existing single interrupt in this specific stuck-card state.

Do Not Confuse It With the Old 60-Second Message

An earlier Claude Code issue reported No response after 60s - continued without an answer while the terminal was unfocused. Anthropic closed that issue after making the behavior configurable and no longer enabled by default. That path produced a visible timeout result and continued; the August 7 preview bug leaves a visible question card whose keyboard handler is dead.

The recovery and diagnosis are therefore different:

  • frozen preview card: dismiss once, repeat without previews, and preserve the session;

  • explicit timeout message: review the current version and timeout configuration;

  • missing question caused by a hook: follow the PreToolUse defer troubleshooting guide.

One symptom should not justify changing all three systems.

Verify the Recovery

Success requires all of these observations:

  1. One Ctrl+C closes only the frozen card.

  2. The original chat input returns in the same session.

  3. Claude repeats the question without preview fields.

  4. Arrow or number keys select an option in the plain card.

  5. Claude waits for the answer instead of choosing one automatically.

  6. A fresh preview control still reproduces only under the reported blur-and-delay boundary, if you choose to test it.

If one interrupt ends Claude Code instead of returning to chat, save the exact version, terminal, operating system, and reproduction steps. Your failure no longer matches the currently documented recovery closely enough to assume the same cause.

Monitor the Upstream Issue With Aident Loadout

Start with the canonical setup instruction:

Follow https://aident.ai/SETUP.md

Then give your agent a bounded, read-only check:

Check Aident Loadout authentication and Vault status. Discover the current GitHub issue-search Action and Hacker News search Action, inspect both input schemas, and preflight them. If the estimates are free, look up anthropics/claude-code issue 84715 and search Hacker News for Claude Code AskUserQuestion. Return the issue state, last update time, reaction count, and the top three Hacker News results with points and comment counts. Do not create, edit, label, close, comment on, or react to any issue, and do not write to Hacker News.

Set up Aident Loadout and monitor the frozen-question workaround read-only.

The measurable result is one current issue record plus three community signals, with no provider write. In the August 8 research snapshot, issue 84715 was still open, while a related Hacker News result about the older 60-second question behavior had 65 points and 65 comments. Treat that older discussion as evidence of broader AskUserQuestion concern, not proof that it reproduces the new preview-focus bug.

Sources

Refresh this guide when issue 84715 is fixed or closed, when the preview component's keyboard handling changes, or when one-interrupt recovery no longer preserves the session.

Home

Home

Home

Integrations

Integrations

Integrations

Vault

Vault

Vault

Audit

Audit

Audit

Arana Grande

Arana Grande

Arana Grande

Free

Free

Free

30-day audit summary

30-day audit summary

30-day audit summary

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

Daily action-call volume and the latest receipts from the Loadout audit trail.

View Audit

View Audit

View Audit

Loadout usage

Loadout usage

Loadout usage

617 action calls in the last 30 days

617 action calls in the last 30 days

617 action calls in the last 30 days

May 19 - Jun 17

May 19 - Jun 17

May 19 - Jun 17

10 active days

10 active days

10 active days

Less

Less

Less

More

More

More

Recent activity

Recent activity

Recent activity

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Latest action-call receipts from connected agents

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Apr 23, 09:23 AM

Shopify

Shopify

Shopify

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Creates Or Updates An Asset For A Theme

Success

Success

Success

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Apr 23, 09:21 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Success

Success

Success

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Apr 23, 08:53 AM

Shopify

Shopify

Shopify

Update Products Param Product Id

Update Products Param Product Id

Update Products Param Product Id

Failed

Failed

Failed

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Apr 22, 22:13 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Apr 22, 22:12 PM

Shopify

Shopify

Shopify

Create Product Image

Create Product Image

Create Product Image

Success

Success

Success

Connected integration coverage

Connected integration coverage

Connected integration coverage

162

162

162

of 753 accessible connected

of 753 accessible connected

of 753 accessible connected

Callable actions

Callable actions

Callable actions

1,126

1,126

1,126

Vault credentials

Vault credentials

Vault credentials

8

8

8

Explore what's possible

Explore what's possible

Explore what's possible

See all Integrations

See all Integrations

See all Integrations

Google Ads

Google Ads

Google Ads

All available Goolge Ads tools via...

All available Goolge Ads tools via...

All available Goolge Ads tools via...

X (twitter)

X (twitter)

X (twitter)

All available X tools via...

All available X tools via...

All available X tools via...

Github

Github

Github

All available Github tools via...

All available Github tools via...

All available Github tools via...

Notion

Notion

Notion

All available Notion tools via...

All available Notion tools via...

All available Notion tools via...

Slack

Slack

Slack

All available Slack tools via...

All available Slack tools via...

All available Slack tools via...

Firecrawl

Firecrawl

Firecrawl

All available Firecrawl tools via...

All available Firecrawl tools via...

All available Firecrawl tools via...

753 integrations are available for loadouts.

753 integrations are available for loadouts.

753 integrations are available for loadouts.

The one tool

for every tool

your agent needs.

Give any AI agent real capabilities in seconds. Connect 1,000+ tools once, skip the setup headache, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.

Try Aident Loadout

Give your Agent real capabilities in minutes. Connect 1,000+ tools, and let your agents execute.