Skip to content

ハードコードされた5分タイムアウトを修正:ローカルLLMや拡張思考が途切れなくなった

原文(日本語に翻訳)

API_TIMEOUT_MS の設定に関わらず、低速なバックエンド(ローカルLLM、拡張思考、低速ゲートウェイ)でリクエストを中断していたハードコードされた5分リクエストタイムアウトを修正

原文(英語)

Fixed a hardcoded 5-minute request timeout that aborted slow backends (local LLMs, extended thinking, slow gateways) regardless of API_TIMEOUT_MS

概要

Claude Codeには API_TIMEOUT_MS という環境変数でタイムアウトを設定できる機能がありましたが、内部に5分のハードコードされたタイムアウトが存在し、設定値に関わらず5分でリクエストが強制終了されていました。今回の修正により、API_TIMEOUT_MS が正しく尊重されるようになり、ローカルLLM、拡張思考(Extended Thinking)、低速なAPIゲートウェイなど、応答に時間がかかる場合でも適切に動作します。

基本的な使い方

タイムアウトの延長設定

bash
# タイムアウトを30分に設定(ミリ秒単位)
export API_TIMEOUT_MS=1800000
claude

ローカルLLM使用時の推奨設定

bash
# Ollamaなどのローカルモデルを使用する場合
export ANTHROPIC_BASE_URL=http://localhost:11434
export API_TIMEOUT_MS=3600000  # 60分
claude

実践例

ローカルLLMとの接続

bash
# Ollamaでローカルモデルを実行している場合
# モデルによっては応答に数分かかることも
export ANTHROPIC_BASE_URL=http://localhost:11434/v1
export API_TIMEOUT_MS=600000  # 10分

claude -p "このコードを詳しく分析して"
# 以前はローカルLLMが遅い場合に5分で強制終了されていたが、
# 今後は設定したタイムアウトまで待機する

拡張思考(Extended Thinking)モード

bash
# 複雑な問題で拡張思考を使用する場合
# 思考プロセスに時間がかかることがある
export API_TIMEOUT_MS=900000  # 15分

claude -p "この複雑なアーキテクチャ問題を深く考えて解決策を提案して"

企業プロキシ・低速ゲートウェイ環境

bash
# 企業のAPIゲートウェイ経由でアクセスする場合
# ゲートウェイの処理に時間がかかることがある
export API_TIMEOUT_MS=1200000  # 20分
export ANTHROPIC_BASE_URL=https://corporate-gateway.example.com/anthropic

claude

.env ファイルでの永続設定

env
# プロジェクトの .env ファイル
API_TIMEOUT_MS=1800000  # 30分(ミリ秒単位)

タイムアウト値の目安

ユースケース推奨タイムアウト
標準的な使用300000(5分、デフォルト相当)
拡張思考モード900000(15分)
軽量ローカルLLM600000(10分)
重量ローカルLLM(70B+)3600000(60分)
低速企業ゲートウェイ1200000(20分)

注意点

  • 単位はミリ秒: API_TIMEOUT_MS=300000 = 5分(300秒)
  • 長すぎるタイムアウトのリスク: 不必要に長いタイムアウトは、ハングしたリクエストが長時間占有される可能性があります
  • 以前の回避策: 以前は NODE_OPTIONS=--max-old-space-size=... など様々な回避策が必要でしたが、今後は API_TIMEOUT_MS のみで制御できます
  • この修正の影響を受ける環境: ローカルLLM(Ollama、LM Studio)、拡張思考使用時、遅いAPIプロキシ経由での利用

関連情報