後ろ姿でモニターにHTMLコードを表示しながら作業するエンジニア
設計と運用

Claude Code v2.1.305: CI/CDで起きていた再実行バグの直し方

目次を見る

Claude Code(Anthropic が提供するターミナル常駐型の AI コーディングエージェント)を CI/CD パイプラインに組み込んで自動化を進めているチームに向けて、v2.1.305 のリリース内容を整理します。

今回のアップデートは機能追加よりも、自動実行まわりの不具合修正が中心です。特に Workflow の再実行やゲートウェイ経由のリクエスト失敗など、無人運用に直結する修正が複数含まれています。テスト自動化やリリース工程に Claude Code を組み込んでいるなら、見過ごせない内容です。

何が変わったのか:無人実行の信頼性に関わる修正群

まず目を引くのは Workflow resume(中断したワークフローを再開する機能)の修正です。これまでは pipeline() や parallel() で定義したエージェントタスクが、すでに完了しているにもかかわらず再実行されてしまう不具合がありました。

CI/CD パイプラインでは、テストの一部が失敗したときに成功済みのステップをスキップして失敗箇所だけ再実行する、という運用がよく行われます。Jenkins や GitHub Actions のジョブ再実行(re-run failed jobs)と同じ考え方です。Claude Code の Workflow でも「run の journal(実行履歴の記録)」から完了済みタスクを読み取り、スキップできるようになりました。

今まではこの journal 参照が機能しておらず、再開のたびに全エージェントが再実行されていました。コスト面でも時間面でも無視できない問題だったはずです。

もう一つ重要なのが、Vertex AI・Bedrock など各種プロバイダ経由での接続時に、全リクエストが失敗する不具合の修正です。これは v2.1.304 で発生したリグレッション(過去に動いていた機能が新しいバージョンで壊れること)で、ゲートウェイや API エンドポイントが tool search(ツール検索機能)のリクエストを拒否する環境、あるいは --tools オプションでツール検索が無効化・除外されている環境で、すべてのリクエストが失敗していました。

v2.1.305 では、tool search が拒否された場合に自動でそれを使わずにリトライする挙動に修正されています。社内プロキシやゲートウェイ経由で Claude API を使っている組織では、この修正の有無がそのまま「動くか動かないか」を分けます。

関連する修正:リトライ・サンドボックス・MCP サーバー周り

CLAUDE_CODE_RETRY_WATCHDOG という環境変数を使うと、API のレート制限(usage limit)に達した際に自動でリトライする「無人リトライモード」が有効になります。夜間バッチでテストスイートを回す運用などで使われる機能です。

今回追加された CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS は、このリトライ監視の再チェック間隔を制御する環境変数です。利用上限がリセットより前に解除された場合でも、すぐに気づいて再開できるようになります。長時間の CI ジョブでレート制限に当たった経験があるなら、設定しておく価値があります。

サンドボックス(コマンド実行を隔離する仕組み)まわりでは sandbox.allowNestedUserNamespaces という設定が追加されました。Linux 環境で Chromium や rootless podman のようにユーザー名前空間(user namespace)を必要とするツールを、サンドボックス内で動かせるようにする設定です。

E2E テスト(ブラウザを実際に操作して検証するテスト)で Chromium を使っている場合、サンドボックス制限に引っかかっていたケースがここで解消される可能性があります。ただしこの設定はサンドボックスのファイル保護を一部迂回する性質があるため、有効化は影響範囲を確認したうえで判断すべきです。

MCP(Model Context Protocol、外部ツールと LLM を接続する標準規格)まわりでは、クラウドセッションや SDK の setMcpServers で渡した MCP サーバーが、セッション途中でローカル設定の同名サーバーに意図せず置き換わる不具合も修正されています。複数の MCP サーバーを使い分けてテストツールやデータベース接続を切り替えている構成では、地味に影響が大きい修正です。

CI/CD の文脈で見る位置づけ

これらの修正を整理すると、今回のリリースは「機能を増やす」というより「自動化パイプラインの中で安定して動き続けるための地固め」という性格が強いアップデートです。

一般的な CI/CD ツール、たとえば GitHub Actions や CircleCI では、ジョブの冪等性(同じ処理を何度実行しても結果が変わらない性質)とリトライ戦略が運用の土台になっています。Claude Code を使ったエージェント駆動のワークフローでも同じ発想が必要で、今回の journal 参照の修正はまさに冪等性を担保するための直しだと捉えられます。

また /usage コマンドの表示崩れ修正や、起動時の警告がログに直接出力されてしまう不具合の修正など、CI のログ出力を人間が確認する場面での可読性改善も含まれています。パイプラインの失敗原因を調査するときに、ノイズの少ないログは地味に重要です。

今日確認できること

実際に影響を受けるかどうかは、以下の観点で確認できます。

  • バージョン確認: claude --version でインストール済みバージョンを確認し、v2.1.304 以前であれば tool search のリグレッションに該当するか確認する
  • プロバイダ経由利用: Vertex AI・Bedrock・ゲートウェイ経由で Claude Code を使っている場合、--tools オプションの設定内容を確認する
  • Workflow 利用: pipeline() や parallel() を使った自動化を CI で動かしている場合、再開時に完了済みタスクがスキップされるか実際に中断・再開して確認する
  • サンドボックス設定: Chromium や rootless podman を使う E2E テストがサンドボックスで失敗している場合、sandbox.allowNestedUserNamespaces の追加を検討する
  • リトライ運用: 長時間ジョブで CLAUDE_CODE_RETRY_WATCHDOG を使っている場合、新しい環境変数での再チェック間隔の調整を検討する

具体的な設定ファイルの場所やオプションの詳細仕様は、GitHub の anthropics/claude-code リポジトリの Releases ページと、同リポジトリ内のドキュメントで確認できます。

今回の修正の多くは「無人実行時にだけ表面化するバグ」です。手元で対話的に使っている分には気づきにくいため、CI 上での再現確認が欠かせません。

まとめ

v2.1.305 は新機能よりも、CI/CD での無人実行時に発生していた不具合の修正が中心のリリースです。

特に Workflow resume の再実行バグと、ゲートウェイ経由でのリクエスト全滅バグは、自動化パイプラインに Claude Code を組み込んでいるなら優先して確認すべき内容です。

まずは claude --version で現在のバージョンを確認し、該当する環境であれば早めに v2.1.305 への更新を検討してみてください。あわせて CI のログに不要な警告が混ざっていないかも、この機会に見直してみるとよさそうです。

参考

claude-code v2.1.305

この記事について: 本記事は AI を活用して作成し、forva AI 編集部が内容を確認・監修しています。

AI 駆動開発のご相談は forva AI へ。まずはお気軽にどうぞ。