メインコンテンツへスキップ

Claude Code v2.1.277:AGENTS.md対応、ゲートウェイの外向きプロキシ設定、TaskOutputの削除

Claude Code v2.1.277では、CLAUDE.mdがないプロジェクトでAGENTS.mdを読むようになり、Claude apps gatewayにフォワードプロキシと上流ヘッダーのオプションが加わり、TaskOutputツールの削除とヘッドレス実行の停止の修正が行われました。

Claude Code v2.1.277は、変更履歴に87項目が並ぶ大規模なリリースです。CLAUDE.mdがないプロジェクト向けのAGENTS.md対応、Claude apps gatewayの新しいフォワードプロキシ関連のオプション、サブエージェントの出力のより明確な扱いが加わり、非推奨だったTaskOutputツールが削除されました。修正は、ヘッドレス実行の信頼性、不正な形式の保存データによるクラッシュ、ツールのエラー報告、プラグイン、プロンプトキャッシュを中心としています。

新機能

AGENTS.md対応

CLAUDE.mdがないプロジェクトでは、Claude Codeが代わりにAGENTS.mdを読み込むようになりました。この動作は/configの「Project instructions」で変更できます。

Claude apps gatewayのプロキシ関連オプション

CLAUDE_GATEWAY_PROXY_IS_EGRESS_BOUNDARY=1は、外部への出口がフォワードプロキシだけのClaude apps gateway向けの設定です。すべての外向きリクエストで、ホスト名をローカルで解決せずにプロキシへ渡します。また、ゲートウェイの上流設定にオプションのheaders:マップが追加され、プロバイダーの前段で運用しているプロキシに固定のヘッダーを送れるようになりました。ゲートウェイのループバックに関するエラーメッセージには、CLAUDE_GATEWAY_ALLOW_LOOPBACKが示されるようになりました。

TaskOutputツールの削除

非推奨だったTaskOutputツールが削除されました。Claudeはバックグラウンドタスクの出力ファイルをReadで読むようになり、taskOutputMaxChars設定とTASK_MAX_OUTPUT_LENGTHは効果を持たなくなりました。

/modelにFableを常に表示

Anthropic APIでは、/modelにFableが常に表示されるようになりました。グレー表示になるのは、組織の設定で無効にされている場合だけです。

サブエージェントの出力とプロンプトの扱い

  • サブエージェントの結果は、サブエージェントの出力であることを示すヘッダーの下に、インデントされた形でメインエージェントへ渡されるようになりました。これにより、サブエージェントの結果に含まれるテキストがセッション自身の指示になりすますことはできません。
  • Bedrock、Vertex、Foundryでは、ワークフロースクリプトがagent()で組み立てたプロンプトが、スクリプトの書いたテキストとしてサブエージェントに渡されるようになり、安全分類器がそれをユーザーの発言として読むことはなくなりました。Bashのサンドボックスの説明文も、ファーストパーティと同じ表現になりました。
  • プロンプトに含まれる目に見えないUnicodeの書式文字やタグ文字は削除され、整えたプロンプトが送信前に確認用として表示されます。

ヘッドレスとSDKの信頼性

内部エラーの後に結果を返さずに止まることがあったclaude -pとAgent SDKのセッションは、エラーを報告して終了コード1で終了するようになりました。SDKとヘッドレス(-p)での利用では、最初のターンがディレクトリごとのCLAUDE.mdの探索を待たなくなりました。また、SDKやIDE以外から起動したclaude -pの実行では、バックグラウンドでのHaikuによる自動タイトル生成のリクエストが行われなくなりました。

VS Codeの追加機能

拡張機能のパネルメニューにSign outの行が追加され(入力コマンドの/logoutも利用可能)、エージェントマップにはバックグラウンドのシェルなど実行中のタスクがそれぞれStop付きで表示されるようになりました(/tasksと入力すると開きます)。応答にはCopy responseボタンが付き、/copyとも入力できます。プランの利用上限が適用されない環境(Vertex、Bedrock、Foundry、APIキー)では、Account & usageダイアログとセッションマネージャーにセッションのコストとトークン使用量が表示されます。

修正と改善

  • 失敗するリクエスト:以前のアシスタントのターンで、他のコンテンツと並んで空のテキストブロックがあった場合に、--resumeの後も含めて、会話のすべてのリクエストが「text content blocks must be non-empty」で失敗する問題を修正しました。
  • ログイン:IDE拡張機能に同梱されたCLIなど、古いビルドのClaude Codeが同じマシンで動いているときに、予期せずログアウトされる問題を修正しました。claude.aiのログインが取り消された後のエラーは/loginの案内から始まるようになり、サーバーがAPIキーの作成を拒否した場合のConsoleのサインインでは、「Request failed with status code 400」だけでなくサーバーのメッセージが表示されます。
  • 不正な形式の保存データ:~/.claude.jsonのcustomApiKeyResponses、claudeAiMcpEverConnected、themeの値が不正な形式の場合に起きていたハング、エラー、クラッシュを修正しました。履歴にプレーンな文字列として保存されたアシスタントのメッセージや、フックの一覧が正しい形式でないstopフックの要約を含むセッションを再開した際のクラッシュも修正されています。
  • アップデート:プロキシが無効なバージョンを返す場合に、アップデートの確認が30分ごとにエラーになる問題と、最小または最大バージョンを設定しているとclaude updateがハングする問題を修正しました。不正な形式のminimumVersionは無視されます。wingetやapkで管理されたインストールで、バージョンの照会に失敗したときにclaude updateが「up to date」と報告することもなくなり、自動アップデートの失敗で~/.cache/claude/stagingに大きな一時ダウンロードが残ることもなくなりました。
  • ツールのエラー:システムのプロセス、メモリ、ファイルハンドルが不足して検索を開始できなかった場合に、GrepとGlobが一致なしと報告せず、その旨のエラーを返すようになりました。書き込み先のパスが既存のディレクトリの場合、Writeツールは権限の拒否としてターンを黙って終えるのではなく、明確なエラーを報告します。
  • Editツール:エスケープされたバックスラッシュの後にuXXXXという文字列が続く場合に、\uXXXXのエスケープとして扱われなくなりました。非ASCIIのテキストを含む非常に大きな編集が一致しなかった場合は「String not found in file」と報告され、ツール呼び出しのファイルパスにエスケープシーケンスとして書かれた\u0000が含まれていても、「Path contains null bytes」でターンが途中で終わることはなくなりました。
  • サンドボックス:sandbox.excludedCommandsのglobが複合Bashコマンドの一部にしか一致しない場合に、コマンド全体がサンドボックスの対象外になる問題を修正しました。すべての部分が一致する必要があります。サンドボックスを有効にした状態でサンドボックスの外で実行されるBashコマンドで、$TMPDIRが空に展開される問題も修正されています。
  • 権限プロンプト:危険なrmに対する権限プロンプトが、問題とされたrmコマンドを示し、${VAR:?}によるガードを提案するようになりました。ヘッドレス実行でも対処しやすくなります。
  • プラグインのポリシー:strictKnownMarketplacesまたはblockedMarketplacesのエントリが1つ不正な形式なだけで、エンタープライズのマーケットプレイスポリシー全体が黙って無効になる問題を修正しました。
  • プラグイン:セッションや別のプログラムが使用中のプラグインのバージョンを再インストールしても、インストール済みのコピーが壊れなくなりました。アンインストールしたプラグインが/pluginのInstalledに「failed to load」の行として再び現れることもなくなり、公式マーケットプレイスのプラグインはinstalled_plugins.jsonにコミットとともに記録されます。インストール済みのプラグインにclaude plugin installを実行すると、マーケットプレイスに新しいバージョンがある場合はその旨とclaude plugin updateコマンドが示されます。
  • 安定性:端末のカラーコードを含むテキストがプロンプトにある場合のクラッシュ、低速なマシンや高負荷のマシンで最初のスピナーが表示されたときにセッションが終了することがある問題、内部の描画エラーの後に画面が更新されなくなるまれなケースを修正しました。
  • Windows:Claudeの返信直後に「Out of memory」などのエラーでターンが止まり、その返信のツール呼び出しが実行されないまれなケースと、作業フォルダーのパスが約120文字以上の場合にPDFのページ読み取りが失敗する問題を修正しました。
  • プロンプトキャッシュ:/clearの後に続けたセッションで、SessionStartフックが出力を表示した場合に最初のメッセージの一部が欠ける問題を修正しました。再開したサブエージェントやチームメイトが読み込み済みのMCPツール定義を描画し直すことも、会話の途中で記録された添付ファイルが再開や再起動の後に描画し直されて拡張思考が失われることもなくなりました。
  • セッション:ヘッドレスでの再開(claude -p --resume、SDK、VS Code拡張機能のウィンドウのリロード)で、コストと使用量の合計がゼロから始まらなくなりました。プラグインのLSPサーバーが終了してもバックグラウンドセッション(claude --bg)が終了しなくなり、.claude/skillsが追跡されていない場合でもメインリポジトリのプロジェクトスキルが--worktreeセッションで読み込まれます。Claudeの作業中に入力したメッセージが、モデルに無視されることもなくなりました。
  • Coworkとゲートウェイのテレメトリー:Coworkのクラウドセッションで、WebFetchとWebSearchがリクエストを拒否された理由(フェッチの予算の使い切りや管理者のポリシーなど)をClaudeに伝えるようになりました。プロキシを設定している場合、Claude apps gatewayのテレメトリー中継がNO_PROXYに記載されたコレクターのホスト名やドメインを尊重するようになりました。
  • /ultrareview:レビュー対象がない場合に、どのケースに当たるのかを示し、最新のコミットをレビューするコマンドを提案するようになりました。新しいリポジトリの最初のコミットは全体がレビューされます。非対話セッションでは、リポジトリにベースブランチや共通の履歴がない場合に/ultrareviewが実行を拒否します。
  • VS Code:「General config」のメニュー行で設定が開くようになり、/mcp、/hooks、/memory、/rewindなどを入力すると対応するダイアログが開きます。effortスライダーのレベルが以降のセッションにも引き継がれるようになり、/fastはファストモードをデフォルトとして保存するようになりました。
  • Claude Code on the web:TeamプランとEnterpriseプランの環境ピッカーにPersonalとOrganizationのセクションが追加され、管理者は個人の環境を組織と共有できます。Custom network accessで保存したもののドメインが1つもないクラウド環境が、黙ってTrustedに戻ることもなくなりました。
  • Claude Tag:Enterprise Gridの組織全体へのインストールで、Slackチャンネル内に作成したルーティンが、実行時に同じワークスペースの他のパブリックチャンネルを読めるようになりました。Pylonの認証情報プリセットは、PylonのEUホストを指定できるようになりました。

このリリースには合計87件の変更が含まれています。すべての項目は公式の変更履歴をご覧ください。

アップデート方法

  1. インストール済みのバージョンを確認:claude --version
  2. その場でアップデート:claude update
  3. TaskOutputが削除されたため、taskOutputMaxChars設定とTASK_MAX_OUTPUT_LENGTHは効果を持たなくなりました。CLAUDE.mdがないプロジェクトではAGENTS.mdが読み込まれるようになり(/configの「Project instructions」で変更可能)、sandbox.excludedCommandsのglobは複合Bashコマンドのすべての部分に一致する必要があります。

リンク