MCP接続の復旧ロジック大幅改善、15秒以上の障害後もバックオフで再接続。地味だが運用安定性に効く
Claude Code v2.1.295リリース、MCP接続安定化とGateway機能強化
原題: v2.1.295
重要度の根拠: 多くのClaudeユーザーに直接影響するマイナーバージョンアップで、MCP安定性とゲートウェイ制御の改善がメイン
要約
Claude Codeのv2.1.295がリリースされました。主な改善は、コマンドやHTTPフックの失敗時に動作をブロックする`onFailure: "block"`オプション、プログラムステータスプロトコル(OSC 7501)によるターミナル状態表示、MCP(Model Context Protocol)サーバーの接続安定性向上です。特にMCPの再接続ロジックが改善され、15秒以上の障害後の長時間切断や接続直後のドロップに対してバックオフ機構が導入されました。Claude Appsゲートウェイのアップストリーム設定機能も拡充され、タイムアウト制御やモデルフィルタリング、ログイン方法の強制指定などが可能になりました。バグ修正も多数含まれ、context-1mベータ拒否時の自動フォールバック、ファイル拡張子の誤認識、ページネーションカーソル重複リクエストなど、実装者向けのディテール改善が施されています。
要点
- MCP接続が15秒以上切断後も回復、再接続時のバックオフ機構導入
- ゲートウェイの`timeouts.upstream_ttfb_ms`でストリーム開始タイムアウト管理可能
- コマンドフックが失敗時にアクションをブロック可能に
- context-1mベータ拒否時に自動フォールバック
- ページネーション重複リクエストなど多数のバグ修正
開発者向け技術解説(API・実装詳細・破壊的変更)を見る
開発者向けには、MCP(Model Context Protocol)接続の信頼性が大幅に改善されました。15秒以上の障害後の長時間切断や、サーバーが接続直後にドロップする場合の処理が改善され、リトライは最大30秒までバックオフします。また、ページネーションカーソルの重複により同じページが最大20回リクエストされていた問題も修正されました。Claude Appsゲートウェイレベルでは`timeouts.upstream_ttfb_ms`でストリーム開始タイムアウトを設定可能になり、フェイルオーバー時に502エラーが返されます。アップストリームの`models`リストで特定モデルのみをルーティング可能(ワイルドカード`*`対応)になり、`upstream_request_id`がaudit eventに追加されてサポートケースの追跡が容易になります。コマンドフック用`onFailure: "block"`により、起動失敗・タイムアウト・予期しないexit codeで動作をブロック可能です。context-1mベータ拒否時の自動リトライも実装されました。
本文の日本語訳(全文)を見る
## 変更内容
- コマンドおよびHTTPフックに`onFailure: "block"`を追加:起動できない、タイムアウト、予期しないコードで終了したフックが、アクションをブロックするようになりました
- プログラムステータスプロトコル(OSC 7501)サポートを追加:これに対応したターミナルでClaude Codeが動作中、入力待機中、完了のいずれかを表示できます
- `/copy`ピッカーに引用テキストを追加:作成したメッセージの`>`マーカーなしでコピーできます
- `claude plugin install`、`enable`、`disable`、`marketplace add`にいくつかの警告を追加:書き込み対象の設定ファイルが読み込めない場合に警告します
- `claude -p`実行がその最後のターン後も開いたままのとき、何を待っているかをstderrに出力するようにしました(stderrがターミナルの場合のみ)
- Claude apps gatewayのBedrock、Vertex、Foundry等のクラウドアップストリームで`timeouts.upstream_ttfb_ms`をサポート:設定値はストリーム開始の最大待機時間を制限し、超過時はフェイルオーバーまたは502が返ります
- ターン中止時に`←`が現在のツール完了待機中なら「Backgrounding cancelled」メッセージを表示
- すべてのClaude apps gatewayアップストリームにオプショナルな`models`リストを追加:リスト内のモデルのみ送信され、フェイルオーバー時もそのリストが適用されます。エントリに`*`を1つ含むとワイルドカード扱いです
- マネージドされていない設定のマシンのユーザー設定で`forceLoginMethod: "gateway"`と`forceLoginGatewayUrl`をサポート:`/login`がそのClaude apps gateway上で開きます
- `claude plugin validate`にプラグインのREADMEにインストール行がない場合にアドバイスを追加:貼り付ける行を出力し、`--strict`でも終了コードは変わりません
- Claude apps gatewayの`inference` audit eventに`upstream_request_id`を追加:Amazon Bedrock、Anthropic API、その他アップストリームからのリクエストIDをサポートケース用に記録します
- mod向けに`$.ui.notify`を追加:独自の通知設定で原生通知を発生させ、送信元チャネルを表示します
- mod内の`Button`に子要素(文字列と`Text`)を追加:リスト行が1つの押下可能な要素になり、内部にチップまたは薄い詳細表示があります
- `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`を追加:無人リトライモード(`CLAUDE_CODE_RETRY_WATCHDOG`)が429および529エラーを待つ最大時間を制限します
- Claude apps gatewayの成功レスポンスに`request-id`ヘッダを追加:Claude Codeテレメトリ内の`request_id`がgatewayのaudit logと一致するようになります
- `[1m]`モデル上のすべてのリクエストが、gatewayやBedrock、Vertex、Foundryがcontext-1m betaを拒否するときに失敗していた問題を修正:Claude Codeは自動的に再送信します
- `claude -p`のテキスト出力がバックグラウンド処理の開始によって別のターンが始まると前のレスポンスを落としていた問題を修正:各ターンのレスポンスはターン終了時に出力されます
- ヘッドレスおよびSDKセッション内のリモートMCPサーバーが15秒以上の障害後も接続が切れたままになったり、接続後すぐにドロップするサーバーへのリトライループに陥っていた問題を修正:繰り返されるドロップは最大30秒までバックオフします
- MCPサーバーのエラー応答がたまたまネットワークエラー名を含んでいるときMCPコネクションがドロップしていた問題を修正
- MCPサーバーがページネーションカーソルを繰り返す場合、接続ごとに同じページが最大20回リクエストされていた問題を修正
- MCPツールが返すCSS、JavaScript、XMLファイルが.binで保存され、Readツールが拒否していた問題を修正:フォントとアイコンファイルは独自の拡張子を取得します
- モデルが`description`の代わりに`command_description`を渡すときBashツール呼び出しが失敗していた問題を修正
- Claude in Chromeがポート80(`host:80`)で記述されたサイト拒否ルールを、そのホストのプレーン`http://`ページに適用していなかった問題を修正
- `/plugin`のErrorsタブが読み込み失敗したマーケットプレイスを削除し、そのプラグインをアンインストールしていた問題を修正:Enterキーは最初に確認を求めるようになります
- `claude plugin marketplace add`がプラグインをインストールできないマーケットプレイス名で成功と報告していた問題を修正:そのような追加は拒否されます
- `CLAUDE_AUTO_BACKGROUND_TASKS`がサブエージェントを編集またはシェルコマンド待機中にバックグラウンドに移動し、そのコール前にサブエージェントが終了していなかった問題を修正
- PushNotificationの修正
出典: https://github.com/anthropics/claude-code/releases/tag/v2.1.295
媒体: Claude Code Releases
※本記事は Anthropic / Claude 関連の公開情報を基に AI (OpenAI GPT-4o-mini) が日本語で要約・分類した二次的著作物です。著作権法第32条の引用要件に基づき出典 URL を必ず併記しています。要約は AI 生成のため誤訳・誤解釈を含む可能性があります。詳細・正確な情報は必ず出典元の原文をご確認ください。