Claude Code v2.1.248 — コマンド実行を封じる制限モードなど49件
Claude Code v2.1.248は49項目の更新です。実行系ツールを封じる制限モード(--restricted)や、サブエージェント別キャッシュ設定など新機能7件を追加しました。
Claude Code v2.1.248は49項目の更新です。内訳は新機能7件、改善5件、仕様変更5件、修正32件。中心となる新機能は2つです。1つはコマンド実行系のツールとWebFetchを封じる--restrictedモード。もう1つは、サブエージェントごとにプロンプトキャッシュの有効期間を選べるexperimental.cacheTtlです。修正の多くはclaude agentsとバックグラウンドセッション、クロスセッションメッセージングまわりの安定性向上に集まっています。
このリリースで何ができるようになるか
新機能7件のうち、運用の選択肢を新しく広げるのは3件です。
--restrictedで信頼できない環境でもコマンド実行とWebFetchを封じられる
--restrictedフラグ(またはCLAUDE_CODE_RESTRICTED=1)が追加されました。想定する使い方は、評価用のハーネスが共有マシン上でClaudeを動かし、そのマシンのユーザー設定やプロジェクト設定を一切読ませたくない場面です。
コマンドやコードを実行する組み込みツールとWebFetchは外れます。--toolsで名前を挙げれば個別に戻せますが、defaultプリセット経由では戻りません。ファイル系のツールは作業ディレクトリの内側だけ。読み込む設定もサーバー管理設定(managed settings)と--settingsに限られ、ユーザー・プロジェクト・ローカルの設定ファイルは読みません。bypassPermissionsとクラウドセッションの新規作成は拒否されます。
claude --restrictedサブエージェント単位でプロンプトキャッシュの有効期間を選べる
サブエージェントのfrontmatterにexperimental.cacheTtlが加わりました。値は5mか1hのいずれかです。
---
name: log-analyzer
description: ログを分析するサブエージェント
experimental:
cacheTtl: 1h
---このフィールドは、subagentPromptCacheTtl設定が構成されていないときの既定値として使われます。subagentPromptCacheTtlはユーザー設定・プロジェクト設定・ローカル設定・管理設定のどこにでも書けるキーで、そちらが設定されていればサブエージェント側の指定より優先されます。
TTLを決める経路は複数あり、上から順に最初に見つかったものが使われます。ここでいうバケットは、メインの会話と、サブエージェントを含むそれ以外の要求という2つの区分です。
FORCE_PROMPT_CACHING_5M=1(両方のバケットを5分に固定)- 環境変数
CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL subagentPromptCacheTtl設定- サブエージェントのfrontmatterの
experimental.cacheTtl ENABLE_PROMPT_CACHING_1H=1(両方のバケットに1時間を要求)
管理設定で長いTTLを配布している組織で挙動を切り分けたいときは、FORCE_PROMPT_CACHING_5M=1が上書きの手段になります。1hはアカウントが利用クレジット(usage credits)を使っている間は無視され、--agentsフラグで渡した定義ではなくサブエージェント用ファイルからしか読み込まれません。
呼び出しの間隔が空きがちなサブエージェントに1hを指定すれば、既定の短いキャッシュ寿命より長く温存でき、再処理によるトークン消費を抑えられます。ただし1hはキャッシュ書き込みの課金レートが5mより高くなります。5分を超えて空くことのない短い連続作業では、長い寿命を使い切らないまま書き込み単価だけが上がります。
Enterpriseの複数の契約形態で/usage-creditsが使えるようになった
/usage-creditsはPro・Max・Team・Enterpriseのサブスクリプションサインインで使えるコマンドで、APIキー認証では使えません。v2.1.248では、AWS Marketplace経由で課金されるEnterprise、セルフサーブEnterprise、Enterprise trialの組織にも対象が広がりました。
/usage-credits課金権限を持たないTeam・Enterpriseメンバーが実行すると、確認のうえで組織の管理者へ利用上限引き上げのリクエストが送られます。今回追加された3種類の組織でも、この経路が使えるようになりました。ただし確認と申請が動くのは対話セッションのときだけです。-pを付けた非対話実行とRemote Controlでは、リクエストは送られず、対話セッションで実行するよう案内が出ます。
あなたの開発フローはどう変わるか
影響の大きさは利用形態で分かれます。
| 利用形態 | 影響度 | 具体的に変わること |
|---|---|---|
| 評価ハーネス・共有マシンでClaudeを動かす運用 | 影響度明確な恩恵あり | 具体的に変わること--restrictedでコマンド実行・WebFetchを封じ、ローカルの設定ファイルを読ませずに起動できる |
| Bedrock・Vertex・Foundry、テレメトリー無効化組織でセッション間連携を使うチーム | 影響度明確な恩恵あり | 具体的に変わること同一マシン上のセッション間でSendMessage・ListAgentsが使えるようになった |
| サーバー管理設定(managed settings)を配布する組織の管理者 | 影響度条件次第 | 具体的に変わること読み込みに失敗した理由がclaude doctorと/statusで分かるようになった |
claude agentsでバックグラウンドセッションを多用する開発者 | 影響度明確な恩恵あり | 具体的に変わることクラッシュ・キーボード無反応・二重プロセス起動・削除拒否など複数の不具合が解消 |
| hookを書いている開発者 | 影響度条件次第 | 具体的に変わること不正な応答やスキーマ違反が理由付きのエラーとして表面化する |
| Claude DesktopやCoworkでセッションを長く保持したい利用者 | 影響度明確な恩恵あり | 具体的に変わること30日で消えていたセッションが、アプリ内にある間は残るようになった |
長時間セッション・cronで--resumeする運用 | 影響度明確な恩恵あり | 具体的に変わること毎時発生していたプロンプトキャッシュミスと、上限超過(usage overage)に入ったアカウントでの再開時フルミスが解消 |
/ultrareviewやクラウドセッションで未コミットの変更を扱うチーム | 影響度明確な恩恵あり | 具体的に変わること.tfvarsやswapファイルなど資格情報に近いファイルがローカルに留まるようになった |
| サブエージェントを大量に定義しているチーム | 影響度条件次第 | 具体的に変わることexperimental.cacheTtlで個別にキャッシュ有効期間を指定できる |
| self-hosted runnerを複数台運用する管理者 | 影響度ほぼ影響なし | 具体的に変わること--client-labelで登録ラベルをホスト名以外に変更できる |
claude agentsとバックグラウンドセッションの安定性が上がった
今回もっとも修正が集まった領域です。Windowsでセッションからデタッチした直後や、win32-input-modeのままのターミナルタブで起動したとき、claude agentsの一覧がキー入力に反応しなくなる不具合が直りました。PR状態のキャッシュが壊れているとクラッシュする不具合、CI環境変数が立っているとworkspace trustの確認をスキップしてしまう不具合も解消しています。
エージェントビューの不具合も3件直っています。マシンの電源が落ちていた間の古いバックグラウンドセッションを開くと、実際の終了時刻ではなく復活したかのように表示される問題。新しいセッションを開始する際に、古い会話が開いたり入力中のプロンプトが消えたりする問題。すでに別のターミナルで再開したセッションをclaude agentsから開くと、同じ会話に対して2つ目のプロセスが起動してしまう問題です。
claude rmとclaude agentsが、worktreeのブランチがチェックアウト中のデフォルトブランチにマージ済みでも未pushだと削除を拒否していた不具合も修正されました。バックグラウンドで動くworktreeセッションは、実行中にworktree自体のロックを保持するようになりました。これにより、git worktree removeのクリーンアップに巻き込まれて消えることもなくなっています。claude agentsまわりの操作方法や表示の仕組みはclaude agents --jsonでバックグラウンドセッションを操作するで扱っています。
クロスセッションメッセージングの仕上げが進んだ
SendMessage・ListAgentsによるセッション間の連携は、Bedrock・Vertex・Foundry、テレメトリー無効化組織でも使えるようになりました。あわせて、細かな不具合も直っています。crossSessionInboundに無効な値を設定していても、これまでは黙って無視されていました。v2.1.248からは警告が出て、修正するまでメッセージを保留(ユーザー設定時)または拒否(管理設定時)します。韓国語のIME入力のような非ラテン文字での@メンションが一致しない不具合も解消しました。既定の一時ディレクトリが使えない環境では、ユーザーごとの/tmpにフォールバックし、/statusでその場所を確認できます。セッション間連携の全体像はClaude Code @メンションでセッション間の連携を制御するにまとめています。
サーバー管理設定の診断がclaude doctorと/statusに出るようになった
claude doctorのManaged settings (remote)行が、4つの状態を報告するようになりました。設定の読み込みに失敗した場合は、起動時にも警告が出るようになりました。
- 設定を読み込めた
- 組織に設定が無い
- 取得に失敗した(原因とキャッシュの適用有無つき)
- 取得自体をスキップした(Bedrock・Vertex・サードパーティプロバイダやカスタム
ANTHROPIC_BASE_URLが理由)
取得失敗時と、一部のスキップ理由については/statusにも同じ行が表示されます。これまでは設定が反映されていない理由を管理者が推測するしかなかった場面に、直接の答えが出るようになった形です。あわせて、クライアント側タイムアウト・MCPの起動モード・ストリーム監視まわりの環境変数は、セキュリティ承認ダイアログを表示せずに適用されるよう変更されました。managed settingsの全体的な配布方法と優先順位はClaude Code組織管理ガイドを参照してください。
Claude DesktopとCoworkのセッションが30日で消えなくなった
Claude DesktopアプリとCoworkのセッションが、開いた30日後に消えてしまう不具合がありました。トランスクリプトの定期クリーンアップが、アプリ内でまだ使っているセッションも一律に対象へ含めていたことが原因です。v2.1.248からは、組織側でリテンションを管理していない限り、デスクトップ側で書かれたセッションはアプリ内に残っている間クリーンアップの対象から外れます。この例外の期間には上限があり、新設のdesktopSessionCleanupPeriodDays設定で日数を指定できます。
資格情報に近いファイルがクラウドセッションに上がらなくなった
/ultrareviewと、ローカルから起動したクラウドセッションには、未コミットの編集内容をアップロードする際の不具合がありました。prod.envのような命名のファイルや*.tfvars、それにエディタのswap・一時ファイル・バックアップ(key.pem.tmpやid_rsa.swoなど)まで含めてしまう内容です。v2.1.248からはこれらのファイルがローカルに留まります。/ultrareview <PR#>自体にも改善があります。クラウドセッションを起動する前にGitHubアカウントがそのリポジトリへアクセスできるかを確認し、できない場合は起動失敗ではなく対処法を案内します。
主な変更点
認証・サインイン・ゲートウェイ
- 別のClaude Codeプロセスがトークンリフレッシュのロックを保持している間にセッショントークンが失効すると、ログイン画面に飛ばされていた不具合を修正。今後はリトライ可能なエラーで失敗する
/loginで推奨されるConsoleサインインが、ANTHROPIC_API_KEYやAPIキーヘルパーが設定済みで使えない環境で、サインインURLを出す前にOAuthエラーで失敗していた不具合を修正。APIキーサインインへ自動的にフォールバックする- managed settingsのセキュリティ承認ダイアログが必要な状況で、Claude appsゲートウェイへの
/loginがハングしていた不具合を修正 apiKeyHelperだけが認証手段の場合、ゲートウェイのモデル探索(CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY)が一度も走らなかった不具合を修正AuthorizationヘッダーをheadersHelperから供給するMCPサーバーで、401を受け取るとヘルパーの再実行・再試行ではなくOAuthディスカバリーに落ちてしまう不具合を修正(仕様どおりの再試行に戻る)
MCP・hookの不具合
PermissionRequest・PreToolUseのhookが不正な応答を出力すると、バックグラウンドセッションが理由も出さずに待機し続けていた不具合を修正。claude agentsの行に、どのhookで何のスキーマエラーが起きたかが表示される- hookが標準出力に
{…}形式の文字列を返しても、有効なJSONでなければ普通のテキストとして扱われていた不具合を修正。今後はパースエラーを添えてhookエラーとして報告される .mcp.jsonでclaude.aiコネクタ型を宣言しているプロジェクトのMCPサーバーが、/mcpの一覧で信頼済み「claude.ai」の見出し配下に表示されていた不具合を修正。実際のスコープの下に表示される
表示・キーボード・その他の不具合
/modelやfast mode切り替え通知のモデル名がコードとして描画されるよう変更。[1m]のような接尾辞がリンクではなく文字どおり表示されるclaude logsが、実行元のターミナルにマウストラッキング・bracketed paste・alternate screenを有効なまま残していた不具合を修正- 信頼ダイアログのリポジトリ権限ルール一覧で、絵文字の途中でルールが切り詰められると文字化けする不具合を修正
- ctrl+cの直後にshift+tabを押すと、権限モードの表示が「Press Ctrl-C again to exit」のヒントに隠れたままになる不具合を修正
- Remote Controlセッションで、CLIが黙って再接続した後に権限プロンプトや最新メッセージが接続先デバイスに表示されないことがある不具合を修正
- コンテナのセッション認証情報がまだ読み込み可能になっていないタイミングで、クラウドセッションの起動が失敗することがある不具合を修正
--spawnや--nameのようなフラグが、グローバルフラグやラッパーが挿入するオプションより前に来るとclaude remote-controlが拒否していた不具合を修正- 「N個のMCPサーバーが認証を必要としています」のような起動時の警告が、トランスクリプトの他の行より1桁分右にずれて表示される不具合を修正
- [VS Code]セッションが一度も保存されなかったチャットタブが「No conversation found」で固まる不具合を修正。今後は新しい会話として始まる
- レート制限・使用量・fast modeのメッセージが、組織で使えない(
DISABLE_EXTRA_USAGE_COMMANDで非表示にしている等)/usage-creditsの実行を案内していた不具合を修正
仕様変更
- エージェントビューの入力欄で、shift+enterが改行を挿入するよう変更(プロンプト入力と同じ挙動)。ctrl+enterが送信とアタッチを担う
/loopの自走モード(dynamic mode)と、プロンプトなしの自律実行の既定挙動が、Bedrock・Vertex・Foundryを含めて常に使えるよう変更。/loopの基本的な使い方はClaude Codeの/loopにまとめています- Anthropicテレメトリーのエクスポート失敗のログレベルをdebugへ変更し、ラベルも
[Anthropic telemetry]に変更。サードパーティのOTelコレクター側の障害と誤認されにくくなる - クロスセッションメッセージングにおいて、Linuxのuser namespaces環境でマッピングされていない所有者に対するroot相当の信頼を、正規のシステムディレクトリに限定するよう変更
- サブエージェントから別セッションへ
SendMessageを送った場合、返信は送信元のサブエージェントではなく親セッションの会話に届く旨が結果に明記されるよう変更
そのほか、Workflowツールのプロンプト消費が説明文だけで約5,700トークンから約1,000トークンへ縮小しました。スクリプトの書き方に関する参照情報はworkflow-authoringスキルへ切り出されています。PRバッジの再チェックは、直近のチェックから変化がなければGitHubへの問い合わせを間引くようになり、プッシュやgh prコマンドの実行時には引き続き即座に更新されます。大規模リポジトリで/web-setupを使う場合、GitHub CLIトークンにworkflowスコープが無いと、pushが拒否される可能性がある旨の警告が出るようになりました。
--restrictedは信頼境界の外でClaudeをどこまで動かせるようにするか
v2.1.248に集まった変更の多くは、Claudeが動く範囲や、動いた結果が誰に見えるかを線引きし直すものです。--restrictedはコマンド実行とファイルアクセスの範囲を狭めます。/ultrareviewの修正は資格情報に近いファイルがクラウドへ出ていかないようにし、サーバー管理設定の診断は管理者が設定の適用状況を確認できるようにします。向きはどれも同じです。Claudeに与える権限と、その権限が実際どう働いているかを、運用側が確かめられるようにしています。
--restrictedはこの中でもっとも明確な一手です。評価ハーネスや共有マシンでClaudeを動かすとき、これまでは--toolsでツールを絞ってもローカルの設定ファイルやbypassPermissionsが抜け道になり得ました。v2.1.248はその抜け道を1つのフラグで塞ぎます。
直前のv2.1.247は、失敗の理由をエラーに載せて表に出す変更が中心でした。v2.1.248は、その延長で「そもそも何をどこまでやらせるか」を絞る側に踏み込んだ回といえます。
| バージョン | 項目数 | 性格 |
|---|---|---|
| v2.1.243 | 項目数60 | 性格/usageのLoop別集計、modelPicker、キーレスサインイン |
| v2.1.245 | 項目数1 | 性格glibc起動クラッシュの修正のみ |
| v2.1.246 | 項目数61 | 性格Auto mode可視化と安定性61件 |
| v2.1.247 | 項目数33 | 性格SendFeedback追加とエラー可視化の修正群 |
| v2.1.248 | 項目数49 | 性格--restrictedと信頼境界まわりの整備(本記事) |
直近5回のリリースは項目数の振れ幅が大きく、1項目のホットフィックスと60項目規模の回が混在してきました。v2.1.248は新機能7件と修正32件が同居し、新しい選択肢を増やしながら既存の不具合も並行して減らす、バランス型の更新です。
まとめ
v2.1.248は49項目の更新です。新機能7件の内訳は次のとおりです。
--restricted(制限モード)experimental.cacheTtl(サブエージェント別キャッシュTTL)/usage-creditsの対象拡大- self-hosted runnerの
--client-label(claude self-hosted-runner --client-label <label>。環境変数SELF_HOSTED_RUNNER_CLIENT_LABELでも指定可) - サーバー管理設定の診断
/web-setupの警告- クロスセッションメッセージングのBedrock・Vertex・Foundry対応
改善5件・仕様変更5件・修正32件を合わせても、公開されたCVEや強制的なbreaking changeは含まれません。
評価ハーネスや共有マシンでClaudeを動かす運用、claude agentsでバックグラウンドセッションを多用する開発者には、直接効く変更が集まっています。/ultrareviewやクラウドセッションで未コミットの変更を扱うチームも同様です。それ以外の利用は、通常の更新サイクルで取り込めば十分です。
関連ガイド
このバージョン単体の位置づけや前後の版とのつながりは、Claude Code完全ガイドでまとめて確認できます。
関連する記事
Claude Code をもっと見る →Claude Code(クロードコード)とは — できること・料金・使い方・CLIから8つの拡張機構まで
Claude Code v2.1.247 — SendFeedbackツールの追加とエラー可視化の修正など33件
Claude Code v2.1.243 — 契約単価をコストに反映する設定とキーレスサインインなど60項目
Claude Code v2.1.246 — Auto mode可視化とバックグラウンド安定化など61項目
Claude Code v2.1.235 — プロンプト入力のスペルチェック追加を含む19項目の更新
Claude Code v2.1.129 — パッケージマネージャの自動更新と、プロンプトキャッシュの修正