
Claude Code v2.1.312 の主要アップデート - 推論プロファイル ARN などで短いシステムプロンプトを使用
クラウド事業統括本部の石川です。Claude Code の v2.1.312(2026年10月27日 公開)がリリースされました。本記事では、注目のアップデートを中心にご紹介します。
前回のアップデート記事はこちらです。
アップデートサマリー
v2.1.312 では 39 件の変更が入りました。本記事の分類では、修正 21 件、改善 6 件、新機能 4 件、破壊的変更 4 件、開発者体験 3 件、セキュリティ 1 件です。
CHANGELOG で破壊的変更や非推奨と明記された項目はありませんが、既存の挙動や監視の設定に影響する変更が 4 件あるため、「破壊的変更・非推奨」の節で扱います。VS Code 拡張、Cloud sessions、Remote Control、Claude Tag、Code Review の変更もあります。
注目のアップデート
Bedrock・Vertex・Foundry・Mantle で認識しないモデル名に短いシステムプロンプトを使用
Bedrock、Vertex、Foundry、Mantle で、Claude Code が認識しないモデル名を使う場合に、短いシステムプロンプトを使うようになりました。CHANGELOG では、対象のモデル名の例としてカスタムデプロイメント名と推論プロファイル ARN が挙げられており、その名前が Sonnet や Haiku を指していても短いプロンプトが使われます。従来の完全なプロンプトを維持するには、CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0 を設定します。
執筆時点(2026年10月28日)の公式ドキュメント(Environment variables)では、CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT は、完全なシステムプロンプトと、ツールの説明を省略した短いプロンプトを選ぶ変数と説明されています。未設定の場合、Haiku 4.5、Sonnet 5、Opus 4.7 とそれ以前の同系統のモデルは完全なプロンプトを、それより新しいモデルは短いプロンプトを使います。どちらのプロンプトでも、ツールセット、フック、MCP サーバー、CLAUDE.md の探索は維持されるとも説明されています。
「Claude Code が認識しないモデル名」について、公式ドキュメント(Model configuration)では、認識される ID と認識されない ID を次のように説明しています。
| 区分 | 例 |
|---|---|
| 認識される | claude-sonnet-4-5 などの Anthropic API ID。us.anthropic.claude-sonnet-4-5-20250929-v1:0 のように、Anthropic API ID を含むプロバイダーの ID |
| 認識されない | アプリケーション推論プロファイルの ARN、Claude Code が知らないモデルのバージョン、ゲートウェイの独自の名前(例: my-gateway-opus)。いずれも modelOverrides で既知のモデルに対応づけた場合を除く |
なお、公式ドキュメントでは「認識」の範囲が /model ピッカーの表示やコンテキストウィンドウの判定など機能ごとに説明されており、システムプロンプトの選択にどの判定が使われるかは、執筆時点では記載がありません。
短いシステムプロンプトは、v2.1.154 の CHANGELOG で、Haiku、Sonnet、Opus 4.7 以前を除くすべてのモデルの既定になったと記載されています。v2.1.312 の変更により、Bedrock・Vertex・Foundry・Mantle で認識されない名前を使う場合は、名前の裏が Haiku 4.5 や Sonnet 5 以前のモデルでも短いプロンプトになります。そのため、同じモデルでも、認識される ID で指定すると完全なプロンプト、認識されない名前で指定すると短いプロンプトになり、指定の仕方によって使われるプロンプトが変わります。一方、名前の裏が Haiku 5.5 などの新しいモデルの場合は、認識される ID で指定しても短いプロンプトが既定のため、この変更による違いはありません。
変更前との違いは「破壊的変更・非推奨」で整理します。
Bedrock・Vertex・Foundry・Mantle で、カスタムデプロイメント名や推論プロファイル ARN を指定している方は、更新後にどちらのプロンプトを使うかを CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT で明示しておくとよいと考えます。
OpenTelemetry の claude_code.safety_event の送信を停止
Claude Code が、OpenTelemetry のイベント claude_code.safety_event を送信しなくなりました。
執筆時点の公式ドキュメント(Monitoring)では、claude_code.safety_event は、チェックがツール呼び出しを拒否したときや権限の確認を求めたときなどに記録されるイベントで、v2.1.307 以降が必要と説明されています。CHANGELOG に書かれているのはイベントの送信の停止で、ツール呼び出しを拒否するチェックそのものの変更は書かれていません。
claude_code.safety_event をダッシュボードやアラートの条件に使っていた方は、更新後はイベントが届かなくなるため、監視設定を見直す必要があると考えます。
サブディレクトリの大きな CLAUDE.md を冒頭だけ見て上書きする問題を修正
サブディレクトリにある非常に大きな CLAUDE.md、ルールファイル、@ でインクルードされたファイルを、Claude が冒頭部分だけを見た状態で上書きしてしまう問題が修正されました。v2.1.312 では、Write ツールが Claude に、ファイル全体を読むか、その場で編集するよう求めます。
サブディレクトリに大きな CLAUDE.md やルールファイルを置いているリポジトリでは、冒頭だけを見た上書きで内容が失われる心配が減るため、更新しておきたい修正だと考えます。
VS Code 拡張でサインインした後に管理設定が取得されない問題を修正
VS Code 拡張からサインインした後、そのセッションの残りの間、管理設定(managed settings)と組織ポリシーが取得されない問題が修正されました。本記事では、管理者が配布する設定に関わる修正のため、セキュリティに分類しています。
管理設定や組織ポリシーを配布していて、メンバーが VS Code 拡張からサインインしている組織では、早めに更新を案内するとよいと考えます。
Claude apps gateway に oidc.user_id_claim を追加
Claude apps gateway に oidc.user_id_claim が追加され、sub 以外の id_token クレームで利用者を識別できるようになりました。CHANGELOG では、例として Microsoft Entra ID の oid が挙げられています。
執筆時点の公式ドキュメント(Claude apps gateway configuration)には、oidc.user_id_claim はまだ記載されていません。
Claude apps gateway を運用していて、利用者の識別に sub 以外のクレームを使いたい方は、oidc.user_id_claim の利用を検討するとよいと考えます。
アップデート内容
新機能
- Claude apps gateway に
oidc.user_id_claimが追加されました(注目のアップデートを参照)。 - フルスクリーン表示で、キューに入ったメッセージの下に出る「to send now」のヒントをクリックすると、そのメッセージがすぐに送信されるようになりました。ヒントに対応するキーを押した場合と同じ動作です。
- [Cloud sessions] クラウドで実行するルーティンを作成・編集するときのモデルピッカーに、effort レベルが追加されました。
- [Cloud sessions] クラウド環境設定のセットアップスクリプト欄に、色分け・行番号・Copy ボタン付きの Bash エディターが追加されました。
改善・開発者体験
- プロンプトの effort インジケーターで、タスクの途中に変更した effort は次のメッセージまで反映を待つ場合がある旨が表示されるようになりました。この注記は、該当しなくなると消えます。
- クラウドセッションの WebFetch で、名前解決できないホストのエラーが、許可されたネットワークドメインの外にある可能性があると説明されるようになりました。これにより、Claude が許可すべきホスト名を示します。
- 利用上限のメッセージで、5 時間のウィンドウの呼び方が「session limit」から「5-hour limit」に変わりました。
- CLI から開始したクラウドセッションのセッション名とブランチ名を、サーバーから取得するようになりました。
- サブエージェントの
autoCompactWindowが、CLAUDE_CODE_AUTO_COMPACT_WINDOWで設定したウィンドウを引き下げる方向に効くようになりました。従来は効果がありませんでした。引き上げる方向には引き続き作用しません。執筆時点の公式ドキュメント(Create custom subagents)は変更前の内容のままで、CLAUDE_CODE_AUTO_COMPACT_WINDOWを設定するとこのフィールドは効果がないと説明されています。 - 公式 Anthropic マーケットプレイスのプラグインが宣言する、固定 URL のリモート MCP サーバーについて、OpenTelemetry の
mcp_server.nameがcustomではなく実際のサーバー名を報告するようになりました。 - [VS Code] 利用上限のリセットが「Resets at 3:10 PM」のような時刻で表示され、「5-hour limit」と表記されるようになりました。
- [Cloud sessions] Claude がクラウドセッションにリポジトリを追加したときのステップを開くと、生の JSON ではなく、結果をまとめた短い表が表示されるようになりました。
- [Claude Tag] Slack での Claude Tag の再試行通知が、汎用的な API エラーではなく、使用中のモデル名、またはレート制限に達したことを示すようになりました。
セキュリティ
- VS Code 拡張でサインインした後、管理設定と組織ポリシーが取得されない問題が修正されました(注目のアップデートを参照)。
修正
- サブディレクトリの大きな CLAUDE.md などを冒頭だけ見て上書きする問題を修正: 注目のアップデートを参照
cd後にディレクトリ単位のスキルが見つからない問題を修正: Bash で git リポジトリのより深い階層へcdした後、ディレクトリ単位のスキルやpaths:指定のスキルが見つからなくなっていました- [VS Code] 組織の設定を読み込めないとセッションが終了コードだけで終わる問題を修正: 起動時に組織の設定を読み込めなかった場合や拒否された場合に、セッションが終了コードだけを残して終了していました。タブに理由が表示され、Retry または Sign in again を選べるようになりました
- [Cloud sessions] 送信失敗後の再送でメッセージが 2 回実行される問題を修正: 送信に失敗した後に同じメッセージを再送すると、2 回実行されることがありました
- [Claude Tag] チャンネルがパブリックになると設定がデフォルトに戻る問題を修正: 古いプライベート Slack チャンネルがパブリックになり新しい ID が割り当てられると、Claude Tag チャンネルのオン/オフスイッチとエージェント設定がワークスペースのデフォルトに戻っていました
- [Claude Tag] 別のスレッドにファイルを投稿する問題を修正: 同じチャンネルの別のスレッドで回答しているときに、Claude in Slack が誤ったスレッドにファイルを投稿することがありました
- [Code Review] 古いコミットをレビューする問題を修正: GitHub のプッシュイベントの配信が遅れた場合に、Code Review が古いコミットをレビューする、またはまったくレビューしないことがありました。プルリクエストの現在のコミットをレビューするようになりました
- 地味に嬉しい修正: 不正な名前のコマンドが 1 つあるだけで全コマンドの読み込みが止まり、
claude -pが何も出力しなくなることがある問題が修正されました。原因がコマンド名にあると気づきにくい現象なので、claude -pをスクリプトで使っている方には地味に嬉しい修正だと感じます。 - このほか、セッションの再開、Read ツールでの PDF の読み込み、effort レベルの表示、agent view、vim モード、
/verifyの説明、Cloud sessions、Remote Control、Claude Tag など、多数の細かな不具合が修正されています。
破壊的変更・非推奨
CHANGELOG で破壊的変更や非推奨と明記された項目はありません。ここでは、既存の挙動や設定、監視に影響する 4 件を扱います。
認識しないモデル名で短いシステムプロンプトを使う
Bedrock、Vertex、Foundry、Mantle で、Claude Code が認識しないモデル名を使う場合に、Sonnet や Haiku を指していても短いシステムプロンプトを使うようになりました。CHANGELOG の「even when they front Sonnet or Haiku」という書き方から、変更前は Sonnet や Haiku を指す名前では完全なプロンプトが使われる場合があったと読めます(推測)。
以下は設定例です。公式ドキュメント(Claude Code on Amazon Bedrock)の記載に沿って、ANTHROPIC_MODEL にアプリケーション推論プロファイルの ARN を指定した場合を想定しています。
変更前(〜v2.1.311):
export CLAUDE_CODE_USE_BEDROCK=1
export ANTHROPIC_MODEL='arn:aws:bedrock:us-east-2:your-account-id:application-inference-profile/your-model-id'
# Sonnet や Haiku を指す ARN では、完全なプロンプトが使われる場合があった(推測)
変更後(v2.1.312〜):
# Claude Code がこの ARN からモデルを認識できない場合は、短いシステムプロンプトを使う
# 完全なプロンプトを維持するには、次を追加する
export CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0
フラグが立ったメッセージの後の自動モデル切り替えが、認識しないモデル名にも適用
フラグが立ったメッセージの後に行われる自動モデル切り替えが、Claude Code が認識しないモデル名(カスタムデプロイメント名など)にも適用されるようになりました。執筆時点の公式ドキュメント(Environment variables)では、この自動切り替えは、安全性の分類器がリクエストにフラグを立てたときのモデルの切り替えで、switchModelsOnFlag 設定で制御される動作と説明されています。
変更前(〜v2.1.311):
認識しないモデル名(カスタムデプロイメント名など)では、自動モデル切り替えの対象外
(CHANGELOG の「also cover」という書き方からの推測)
変更後(v2.1.312〜):
認識しないモデル名でも、自動モデル切り替えの対象になる
無効にする場合: export CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1
prompt フック・agent フックの同時実行数と timeout の下限
prompt フックと agent フックの同時実行数が、サブエージェントを含めてセッションあたり最大 24 件、加えてイベントのタイムアウトより長く待機しているもの最大 12 件に制限されました。また、1 秒未満の timeout は 1 秒として扱われるようになりました。command フックなど、prompt・agent 以外のフックについては、CHANGELOG に記載がありません。
執筆時点の公式ドキュメント(Hooks reference)は変更前の内容のままで、1 つのイベントに一致した prompt・agent フックが 12 件を超える場合、12 件を同時に実行し、残りは実行中のフックが終わり次第開始すると説明されています。
以下は設定例です。公式ドキュメント(Hooks reference)の prompt フックの例に、1 秒未満の timeout を指定した場合を想定しています。
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "prompt",
"prompt": "Evaluate if Claude should stop: $ARGUMENTS. Check if all tasks are complete.",
"timeout": 0.5
}
]
}
]
}
}
変更前(〜v2.1.311):
同時実行: イベントごとに、prompt・agent フックを 12 件まで同時に実行(執筆時点の公式ドキュメントの記述)
timeout: 0.5 は 0.5 秒として扱われていた(推測)
変更後(v2.1.312〜):
同時実行: サブエージェントを含めてセッションあたり最大 24 件
+ イベントのタイムアウトより長く待機しているもの最大 12 件
timeout: 0.5 は 1 秒として扱われる
OpenTelemetry の claude_code.safety_event の送信停止
Claude Code が claude_code.safety_event を送信しなくなりました。執筆時点の公式ドキュメント(Monitoring)では、v2.1.307 以降で記録されるイベントとして説明されています。
変更前(v2.1.307〜v2.1.311):
OpenTelemetry のログに claude_code.safety_event(event.name: "safety_event")が送信される
変更後(v2.1.312〜):
claude_code.safety_event は送信されない
このイベントを条件にしたダッシュボードやアラートは、v2.1.312 以降は該当するイベントを受け取らなくなります。
最後に
v2.1.312 は、Bedrock・Vertex・Foundry・Mantle で Claude Code がモデル名を認識できない場合の扱いと、フック・OpenTelemetry まわりの挙動変更が中心のリリースだと感じます。本記事で破壊的変更として扱った 4 件のうち、システムプロンプトは CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT=0 で完全なプロンプトを指定でき、自動モデル切り替えは CLAUDE_CODE_DISABLE_REFUSAL_FALLBACK=1 で無効にできます。
Bedrock などでモデルをカスタムデプロイメント名や ARN で指定している方や、OpenTelemetry で Claude Code を監視している方は、「破壊的変更・非推奨」の節を確認したうえで、アップデートして試してみてはいかがでしょうか。
参考文献









