
Claude Codeの回答待ちに対する自動続行設定(askUserQuestionTimeout)について調査してみた
こんにちは、つくぼし(tsukuboshi0755)です!
Claude Codeには、作業中にモデルがユーザーへ選択式の質問を投げかけるAskUserQuestionという仕組みがあります。
便利な一方で、質問が表示されたまま離席してしまうと、回答するまでエージェントの作業が止まり続けるという悩みがありました。
そこで本記事では、この回答待ちを一定時間で自動続行できるaskUserQuestionTimeout設定について紹介します!
askUserQuestionTimeoutとは
askUserQuestionTimeoutは、Claude Codeのsettings.jsonで指定できる設定キーです。
AskUserQuestionの質問ダイアログが無操作(アイドル)のまま指定時間が経過すると、その時点で事前に選択されているオプションを採用して自動的に処理を続行します。
主な仕様は以下のとおりです。
| 項目 | 内容 |
|---|---|
| 設定キー | askUserQuestionTimeout |
| デフォルト値 | "never"(無期限に回答を待つ) |
| 指定できる値 | "60s"・"5m"・"10m"のような時間文字列、または"never" |
| 設定スコープ | ユーザー設定(~/.claude/settings.json)のみ |
| 必要バージョン | Claude Code v2.1.200以降 |
デフォルトは"never"のため、何も設定しなければ従来どおり回答があるまで待ち続けます。
設定方法
ユーザー設定の~/.claude/settings.jsonに、トップレベルキーとして追加します。
{
"askUserQuestionTimeout": "5m"
}
上記の例では、質問ダイアログが5分間無操作のままだと、事前選択されているオプションで自動続行します。
注意点
ユーザースコープでのみ有効
公式ドキュメントによると、この設定はユーザースコープ専用です。
プロジェクト設定(.claude/settings.json)やローカル設定(.claude/settings.local.json)に書いても読み取られない点に注意してください。
チームのリポジトリ側で強制するのではなく、各ユーザーが自分の好みに合わせて設定する項目という位置付けです。
自動続行されるのは事前選択中のオプション
タイムアウト時に採用されるのは、その時点でダイアログ上に選択されているオプションです。
意図しない選択肢で進んでしまう可能性もあるため、長時間の自動作業を任せる場合は、タイムアウト値を長め(例:"10m")にする、または重要な判断が想定されるタスクでは"never"のままにするなど、作業内容に応じた使い分けをおすすめします。
参考資料
最後に
今回は、AskUserQuestionの回答待ちを一定時間で自動続行できるaskUserQuestionTimeout設定について紹介しました。
Claude Codeを長時間の自律作業に使っていると、離席中に質問で止まっていた…という経験は誰しもあるのではないでしょうか。
askUserQuestionTimeoutを設定しておけば、回答待ちで作業が止まり続けることを防げるため、エージェントに作業を任せて放置するワークフローと相性が良い設定だと感じました。
一方でデフォルトが"never"であることからも分かるように、質問への回答は本来ユーザーの判断を反映する大事なポイントです。
自動続行に頼りすぎず、タスクの性質に応じてタイムアウト値を使い分けるのが良さそうです。
本記事がどなたかの参考になれば幸いです!
以上、つくぼし(tsukuboshi0755)でした!






