AskUserQuestionが無応答のまま進む問題の原因と現在の設定
AskUserQuestionが60秒の無応答で自動継続する挙動は、v2.1.198・v2.1.199限定の一時的な既定でした。現在の既定とaskUserQuestionTimeout・環境変数の設定方法をまとめます。
Claude CodeのAskUserQuestionが問いかけたまま60秒後に「No response after 60s — continued without an answer」と表示され、回答を待たずに進む現象があります。これは2026年7月1日公開のv2.1.198で紛れ込んだ一時的な既定でした。2日後のv2.1.200でこの自動継続は既定オフに戻り、有効にするかどうかはaskUserQuestionTimeout設定で選べる形に変わっています。
質問が無応答のまま進むこと自体は、今もオプトインで使える正式な機能です。ただしv2.1.198とv2.1.199の2バージョンだけは、ユーザーの意思と関係なく既定でオンになっていました。この挙動を報告したGitHub issue #73125には20件のコメントが寄せられ、複数セッションの並行運用への影響や設定変数の発見が続きました。
v2.1.198とv2.1.199で何が起きていたか
AskUserQuestionはその後も機能追加が続いているツールで、Claude Code v2.1.85ではPreToolUseフックがupdatedInputを返して質問に答える、ヘッドレス統合向けの対応が加わりました。この自動継続を制御するCLAUDE_AFK_TIMEOUT_MSはv2.1.198以降を要求する変数で、v2.1.197以前は既定で自動継続しない状態でした。
v2.1.198がリリースされた2026年7月1日から、AskUserQuestionの質問ダイアログは60秒間無応答が続くと自動的に閉じ、Claudeへ次の指示を送るようになりました。ツールの結果として渡っていたのは次の文言です。
"No response after 60s — the user may be away from keyboard. Proceed using your best judgment based on the context so far; you can re-ask this question later if it's still relevant."
issue #73125のコメント欄には、plan承認やコミット前の確認をAskUserQuestionで止める運用をしていたという声が複数寄せられています。無応答のまま進むことで、そうした確認のための呼び出しがユーザーの意思と無関係に素通りする形になりました。報告そのものはAWS Bedrock環境かつVS Code統合ターミナルでの発生でした。コメント欄にはmacOSでの再現やauto mode下での再現も並んでおり、特定の環境に限った不具合ではありませんでした。
この既定の変更は、公式changelogのv2.1.198・v2.1.199どちらのエントリにも記載がありません。
| バージョン | 公開日 | AskUserQuestionの挙動 |
|---|---|---|
| v2.1.197以前 | 公開日〜2026-06-30 | AskUserQuestionの挙動既定で自動継続しない |
| v2.1.198 | 公開日2026-07-01 | AskUserQuestionの挙動既定で60秒無応答から自動継続(changelog未記載) |
| v2.1.199 | 公開日2026-07-02 | AskUserQuestionの挙動同上。同日にissue #73125が報告される |
| v2.1.200 | 公開日2026-07-03 | AskUserQuestionの挙動既定オフに変更。askUserQuestionTimeoutでオプトイン化 |
| v2.1.216 | 公開日2026-07-20 | AskUserQuestionの挙動自由記述の回答が無視されるバグを修正 |
v2.1.200で既定はオフに戻った
v2.1.200は2026年7月3日に公開され、issue #73125が報告された翌日にあたります。changelogには次のように記載されました。
"Changed
AskUserQuestiondialogs to no longer auto-continue by default; opt into an idle timeout via/config"
公式のツールリファレンスでも、AskUserQuestionの質問は既定で無期限に待つと明記されています。自動継続を使うかどうかは、ユーザー自身がaskUserQuestionTimeout設定で選ぶ形に変わりました。
askUserQuestionTimeoutで自動継続を有効にする
自動継続を有効にするには、askUserQuestionTimeout設定に"60s"・"5m"・"10m"のいずれかを指定します。既定値は"never"で、v2.1.200以降が必要です。
{
"askUserQuestionTimeout": "5m"
}/config画面では「Question auto-continue timeout」という行に対応します。ユーザー設定または管理者設定(managed settings)からのみ有効で、--settingsフラグや管理者設定がこのキーを指定している間は/config側の行自体が隠れます。
指定した時間だけ質問が無応答のまま続くと、ダイアログは自動で閉じます。すでに選択していた選択肢はそのまま送信され、Claudeには「ユーザーが離席している可能性がある」という文言と、必要なら後で再質問してよいという指示が渡ります。閉じる20秒前からは画面にカウントダウンが表示されます。キーを押すか、フォーカス変化を検知できる端末では作業中のウィンドウに戻るだけでタイマーはリセットされます。
CLAUDE_AFK_TIMEOUT_MSはsettings.jsonより優先される
askUserQuestionTimeoutとは別に、環境変数CLAUDE_AFK_TIMEOUT_MSでも同じ挙動を制御できます。ミリ秒単位で指定するこの変数は、デモや自動テスト向けの上書き手段という位置付けです。設定した瞬間からaskUserQuestionTimeoutの値や既定の"never"を無視して、自動継続をオンにします。
| 設定方法 | スコープ | 適した用途 |
|---|---|---|
askUserQuestionTimeout(settings.json / /config) | スコープユーザー設定・管理者設定 | 適した用途恒常的に有効化したいとき |
CLAUDE_AFK_TIMEOUT_MS(環境変数) | スコープそのセッションのみ。設定より優先 | 適した用途デモ・自動テストで一時的に上書きしたいとき |
CLAUDE_AFK_COUNTDOWN_MS(環境変数) | スコープ自動継続が有効な間だけ作用 | 適した用途カウントダウン表示のタイミングを変えたいとき |
環境変数はシェルから渡せます。
export CLAUDE_AFK_TIMEOUT_MS=300000
claudeCLAUDE_AFK_COUNTDOWN_MSは、自動継続までのカウントダウン表示が何ミリ秒前から出るかを変える変数です。既定は20000(20秒)で、自動継続の設定時間を上限にキャップされます。自動継続そのものがオフのときは、この変数を設定しても表示に変化はありません。
似た「無応答の判定」でも、対象がユーザーではなくサブエージェントの場合は別の変数を使います。CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MSとはは、サブエージェントのストリーミング出力が止まったときの検知時間を扱う変数で、askUserQuestionTimeoutとは対象も既定値も別物です。
AskUserQuestion自体を無効化する方法
タイムアウトを設定する以外に、AskUserQuestionをpermissionsのdenyリストに加える方法もあります。
{
"permissions": {
"deny": ["AskUserQuestion"]
}
}denyリストに載せたツールは、Claudeが呼び出せるツールの一覧から完全に取り除かれます。AskUserQuestionをdenyに加えると、この選択式ダイアログ自体が表示されなくなります。無応答による自動継続そのものを避けたい場合の代替手段です。
自由記述の回答が無視されていたバグ
v2.1.200でオプトイン化された後も、別の不具合が残っていました。AskUserQuestionには選択肢のほかにOther欄で自由記述の回答ができます。そこに「待って」「先に説明して」と書いても、続行を促す文言がそのままClaudeに渡ってしまうケースがありました。
この不具合はv2.1.216(2026年7月20日公開)で修正されています。changelogの記載は次のとおりです。
"Fixed AskUserQuestion telling Claude to continue even when your answer asked it to wait or explain first — free-text answers now get neutral wording"
公式ツールリファレンスでも、自由記述で答えた場合はニュートラルな文言で中継され、待機や説明を求める内容もそのままClaudeに伝わると説明されています。
権限プロンプトは自動継続の対象外
自動継続の対象はAskUserQuestionの多肢選択の質問だけです。plan mode承認を含む権限プロンプトは、これらの設定にかかわらず無操作のまま自動的には解決されません。
自動化ワークフローでコマンド実行の承認まで無人で通したい場合、この2つの設定は使えません。権限プロンプトの扱いはauto modeなど別の仕組みが受け持ちます。
自動継続そのものは何のためにあるか
長時間の自律実行を任せているときに、途中で挟まる確認だけがセッション全体を止め続けるのは避けたい場面があります。askUserQuestionTimeoutはそのための機能で、席を外していても質問で作業が完全に止まらないようにする狙いがあります。
一方でissue #73125のコメントには、plan承認やコミット前の確認のような「止まってほしい場面」でこのツールを使っていたという声もありました。無応答による自動継続は、そうした確認をユーザーの意図と無関係に外してしまう可能性がある機能でもあります。既定を"never"にした設計は、必要な人だけが選んで有効にする形に寄せた結果と見ることができます。
似た表示に「応答が返らないまま止まる」ケースもありますが、こちらはAPI接続そのものが切れているかどうかが論点で、原因も対処も別物です。詳しくは「Waiting for API response」の意味と対処で扱っています。
意図せず自動継続が起きているときの確認手順
想定していないタイミングで質問が自動的に進んでしまう場合、次の順で確認すると原因を切り分けやすくなります。
claude --versionでバージョンを確認します。v2.1.198・v2.1.199を使っている場合、これらのバージョン限定で自動継続が既定オンになっているため、アップデートだけで解消しますenv | grep CLAUDE_AFKでシェルの環境変数を確認します。CI環境やdotfiles経由でCLAUDE_AFK_TIMEOUT_MSが意図せず設定されていないかを見ます。この変数は設定ファイルの値より優先されるため、askUserQuestionTimeoutを"never"にしても効果がありません- ユーザー設定・管理者設定の
askUserQuestionTimeoutを確認します。組織のmanaged settingsで値が入っている場合、/configの該当行自体が表示されなくなります Other欄への自由記述で「待って」と伝えたのに続行された場合は、v2.1.216より前のバージョンを使っていないか確認します
まとめ
AskUserQuestionが無応答のまま進む現象は、v2.1.198とv2.1.199に限って既定でオンだった、changelog未記載の挙動が原因でした。v2.1.200以降は既定オフに戻り、askUserQuestionTimeout設定でオプトインする形に変わっています。環境変数CLAUDE_AFK_TIMEOUT_MSは設定より優先され、0を指定しても無効化にはならない点には注意が必要です。想定外の自動継続に気づいたら、まずバージョンと環境変数の両方を確認します。