Claude Code v2.1.113 — CLIのネイティブバイナリ化と、サンドボックス遮断の細粒度化
Claude Code v2.1.113はCLI本体をプラットフォーム別ネイティブバイナリに切り替え、サンドボックスのdeniedDomains追加、Bash許可ルールの安全側強化を含む基盤更新リリースです。
このリリースで何ができるようになるか
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-opcdで権限プロンプトを出さない
入力 / 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:
/insightsがEBUSYでクラッシュする問題を修正 - 一回限りのスケジュールタスクがexit確認でrecurringと誤表示される問題を修正、カウントダウン表示に
CLAUDE_CODE_EXTRA_BODYのoutput_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も合わせて読むと変更の流れが追いやすくなります。
関連する記事
Claude Code をもっと見る →Claude Code v2.1.133 — ワークツリーのベース選択機能と、Hooks/Bashでのeffort連携
Claude Code v2.1.83 — managed-settings.d/ 対応と、組織ポリシー配布の柔軟化
Claude Code v2.1.98 — Vertex AIセットアップウィザードとLinuxサンドボックス強化
Claude Code v2.1.85 — フックの条件分岐とAskUserQuestion連携、MCP OAuthがRFC9728準拠に
Claude Code v2.1.81 — --bareでスクリプト起動を軽量化、権限承認をスマホ送信に対応
Claude Code v2.1.79 — /remote-controlでブラウザやスマホからセッション継続が可能に
Claude Code v2.1.78 — 失敗時のフック追加と、プラグインの永続データ領域を強化
Claude Code v2.1.76 — MCPの対話型確認と新フック、作業ツリーのスパース化