本文へスキップ
Claude Media
Claude Code v2.1.113 — CLIのネイティブバイナリ化と、サンドボックス遮断の細粒度化

Claude Code v2.1.113 — CLIのネイティブバイナリ化と、サンドボックス遮断の細粒度化

Claude Code v2.1.113はCLI本体をプラットフォーム別ネイティブバイナリに切り替え、サンドボックスのdeniedDomains追加、Bash許可ルールの安全側強化を含む基盤更新リリースです。

読了目安 約8

このリリースで何ができるようになるか

Claude Code v2.1.113は、CLI配布形態の刷新と、サンドボックス / 権限ルールの細粒度化を同時に進めた基盤更新リリースです。

  • CLI本体がプラットフォーム別ネイティブバイナリで起動するようになった(従来のバンドルJavaScript + Node実行から、per-platformのoptional dependency経由のネイティブ実装へ)
  • sandbox.network.deniedDomains 設定で、広い allowedDomains ワイルドカードがあっても特定ドメインだけ個別遮断できる
  • Bash(rm:*) / Bash(find:*) の自動承認範囲を狭め、env/sudo/watch などのラッパ経由実行もdenyルールにマッチ(allowlist運用の盲点を塞ぐ)

直前のv2.1.112がAuto mode用のホットフィックスのみだったのに対し、本版は配布アーキテクチャと安全境界の両面に踏み込んでいます。

あなたの開発フローはどう変わるか

CI / 並列実行 / claude -p を多用しているチーム

CLIが起動時にプラットフォーム別ネイティブバイナリをスポーンするようになりました。Node起動コストの分が削れる可能性があるため、CIで大量に claude -p をバッチ実行している場合や、テンポラリプロセスを並列で立てる構成では起動レイテンシの体感差が出る可能性があります。日常の対話利用は使い方が変わりません。

サンドボックス + 許可ルールを自分で管理しているチーム

sandbox.network.deniedDomains で「広い allowedDomains ワイルドカードを許可しつつ特定サブドメインだけ遮断」が可能になりました。同一ドメイン傘下に信用できるサブドメインと信用できないサブドメインが混在するケースで、許可リストの再設計なく細かく制御できます。

{
  "sandbox": {
    "network": {
      "allowedDomains": ["*.example.com"],
      "deniedDomains": ["untrusted.example.com"]
    }
  }
}

加えてBash許可ルールが安全側に強化されています。

  • macOSの /private/{etc,var,tmp,home} 配下のパスは Bash(rm:*) のallowルール下でも「危険な削除対象」として扱われる
  • Bashのdenyルールが env / sudo / watch / ionice / setsid などのラッパ経由実行にもマッチ
  • Bash(find:*) のallowルールが find -exec / -delete を含むコマンドを自動承認しない

allowlistを運用しているプロジェクトでは、本版に上げる際に既存ルールの意図と新仕様のずれを確認しておくと取りこぼしが防げます。

長時間タスクをsubagentに任せるパイプライン

Subagentがストリーム途中で停止したまま無言ハングする状況が、10分経過で明示的なエラーとして失敗するようになりました。CI / バッチで「終わったのか詰まったのか分からない」状態が減るため、リトライ判定がしやすくなります。

TUIを常用しているユーザー

入力周りのキー割り当てが整理されました。

  • フルスクリーンで Shift+↑/↓ を使った選択拡張時、ビューポートが追従
  • Ctrl+A / Ctrl+E が複数行入力中も「論理行」の先頭 / 末尾に移動(readline互換)
  • Windowsで Ctrl+Backspace が直前の単語単位の削除に
  • OSC 8ハイパーリンク対応ターミナルで、長いURLが応答 / Bash出力中で折り返されてもクリック可能を維持

cd <current-directory> && git ... のように cd が実質no-opのときに権限プロンプトが出なくなったのも地味に効きます。

主な変更点

配布 / 起動アーキテクチャ

  • CLIをper-platformネイティブバイナリ起動に変更: バンドルJS + Node実行から、optional dependencyとして配布されるネイティブ実装にスポーン

サンドボックス / 権限

  • sandbox.network.deniedDomains 設定追加: 広い allowedDomains ワイルドカードがあっても特定ドメインを個別遮断
  • macOSの /private/{etc,var,tmp,home} パスを Bash(rm:*) 下で「危険な削除対象」として扱う
  • Bashのdenyルールが env/sudo/watch/ionice/setsid 等のラッパ経由実行にもマッチ
  • Bash(find:*) のallowルールが find -exec / -delete を自動承認しない
  • Bashツールが「先頭行コメント + 続けて実コマンド」の複数行スクリプトでもトランスクリプトに全文表示(UIなりすまし防止)
  • cd <current-directory> && ... のno-op cd で権限プロンプトを出さない

入力 / TUI

  • フルスクリーンで Shift+↑/↓ 選択拡張時にビューポート追従
  • Ctrl+A / Ctrl+E が複数行入力で論理行頭 / 末尾に移動(readline互換)
  • Windows: Ctrl+Backspace で単語削除
  • 折り返された長URLがOSC 8ハイパーリンク対応ターミナルでクリック可能を維持

Remote Control / /loop / /ultrareview

  • /loop: Escで待機中のウェイクアップをキャンセル可能、再開時の表示が「Claude resuming /loop wakeup」に
  • /extra-usage がモバイル / WebのRemote Controlから利用可能に
  • Remote Controlから @ ファイル補完候補を問い合わせ可能に
  • /ultrareview: 並列チェックで起動高速化、起動ダイアログにdiffstatとアニメーション追加

Subagent / 信頼性

  • Subagentがストリーム途中で停止 → 10分後に明示的エラーで失敗するように

修正

  • MCP並行呼び出しで、ある呼び出しのメッセージが別の呼び出しのウォッチドッグを無言で解除する問題を修正
  • Cmd-Backspace / Ctrl+U の「カーソルから行頭まで削除」を再び有効化
  • Markdown表のセル内インラインコードにパイプ文字が含まれると表が崩れる問題を修正
  • 入力中の未送信テキストがあるとSession recapが誤発火する問題を修正
  • /copy フル応答がGitHub / Notion / Slackへの貼り付けで表のカラム揃えに対応
  • 実行中のSubagentを閲覧しながら打ったメッセージがトランスクリプトから隠れ親AIに誤帰属する問題を修正
  • Bash dangerouslyDisableSandbox がサンドボックス外で権限プロンプトなしにコマンドを実行する問題を修正
  • /effort auto 確認文言をステータスバー表示の「max」に揃える
  • 「コピーしたN文字」トーストが絵文字など複数コードユニット文字を過大カウントしていた問題を修正
  • Windows: /insightsEBUSY でクラッシュする問題を修正
  • 一回限りのスケジュールタスクがexit確認でrecurringと誤表示される問題を修正、カウントダウン表示に
  • CLAUDE_CODE_EXTRA_BODYoutput_config.effort がeffort非対応モデル / Vertex AIへのsubagentコールで400を返す問題を修正
  • 再開した長コンテキストセッションの圧縮が「Extra usage is required for long context requests」で失敗する問題を修正
  • plugin install の依存バージョン競合を range-conflict として明確に報告
  • ToolSearch 順位が説明文マッチではなく当該ツールを上位に出すよう調整
  • Bedrock Application Inference Profile ARN + Opus 4.7で thinking.type.enabled is not supported の400エラーが出る問題を修正
  • Remote ControlがSubagentトランスクリプトのストリーミングと、終了時のセッションアーカイブを正しく扱うように
  • SDK画像コンテンツブロックの処理失敗時にセッションがクラッシュする問題を、テキストプレースホルダーへフォールバックする形で修正

ネイティブバイナリ化は運用に何をもたらすか

本版の構造変更を「ネイティブ実装に置き換えた」だけと読むと小さく見えますが、配布形態 / 起動コスト / 将来拡張の3点で意味があります。

観点影響
起動時間Node起動コストの分が削減される可能性。特に --bare 実行やCI並列で体感が出やすい
配布サイズOS / アーキ別のoptional dependencyに分割され、npm install 時のサイズがプラットフォームに最適化される
将来機能の受け皿JSバンドルの制約を離れ、I/O / 並行 / OS統合系の機能追加が取り込みやすくなる
環境互換性Nodeバージョン相性問題から相対的に解放される一方、OS / アーキのカバレッジが新たな観点に

--bare を組み合わせた軽量起動や、CIで多数の claude -p を並列実行している構成では、本版以降の起動レイテンシを実測して比較すると変化が分かりやすい場面です。

まとめ

  • dangerouslyDisableSandbox を使っていたチーム: 権限プロンプトなしの実行穴が塞がり、サンドボックス外コマンド実行の経路が整理されます
  • Bash allowルールを多用しているチーム: rm / find の自動承認範囲が狭まり、env / sudo 等のラッパ実行もdenyにマッチするようになります
  • サンドボックスのドメイン制御が必要なチームは推奨: deniedDomains で細粒度遮断が可能
  • CI並列 / --bare 起動を多用するチームは推奨: ネイティブバイナリ化で起動コストが下がる可能性
  • Bedrock + Opus 4.7利用 / Subagentベース運用は推奨: それぞれ専用の修正が乗る

更新は claude update で取得できます。本版で配布形態と安全境界の両軸が動いているため、運用ルールを書いているチームほど早めに挙動を確認しておく価値があります。

直後のv2.1.114も合わせて読むと変更の流れが追いやすくなります。

この記事を共有:XLinkedIn