Claude Codeの公式Changelogをリリースから最速で翻訳・解説しています。
macOS のサンドボックスで、**/.env のようなワイルドカード読み取り拒否が意図どおり効いていませんでした。許可リージョンの中では素通りし、ファイル名を変えるだけで回避できる状態。v2.1.236 でこの穴が塞がり、あわせて開始モデルを決める環境変数 ANTHROPIC_DEFAULT_MODEL が入りました。
今回の拾いどころ:
- ワイルドカード読み取り拒否の修正 - 許可リージョン内でも deny が優先されるようになった (v2.1.236)
-
ANTHROPIC_DEFAULT_MODELの追加 - 新規セッションの開始モデルだけを決める環境変数 (v2.1.236) -
SendMessageにnotify_when_idle- 相手セッションがアイドルになったら 1 回だけ通知 (v2.1.236) -
auto mode の審査強化 -
Monitorの allow ルール棚上げなど、判定が締まった (v2.1.236)
許可リージョンの中では deny が素通りだった
Sandbox: on macOS, wildcard read-deny rules (e.g.
**/.env) now take precedence inside allowed read regions, cover matched directories' contents, and can't be bypassed by renaming the denied file
macOS のサンドボックスは、読み取りを許可するリージョンと、**/.env のようなワイルドカードの拒否ルールを組み合わせて動きます。ところが v2.1.236 より前は優先順位が逆で、許可リージョンの内側にあるファイルは deny にマッチしても読めていました。
deny がディレクトリにマッチしても、その中のファイルまでは覆われない。拒否対象のファイルをリネームすると判定から外れる。優先順位のほかに、この 2 つの抜け道も残っていました。
**/.env などの読み取り拒否ルールを書いていた macOS 環境では、v2.1.236 より前は許可リージョン内のシークレットが Claude Code から読める状態でした。
修正後は deny が許可リージョンより優先され、マッチしたディレクトリは中身ごと対象になり、リネームでも判定から外れません。
モデル指定の環境変数が 2 系統になった
v2.1.236 で入った ANTHROPIC_DEFAULT_MODEL が決めるのは、新規セッションの開始モデルだけ。 セッション中に /model で選び直せばそちらが優先され、選択は再起動をまたいで残ります。
既存の ANTHROPIC_MODEL は毎回モデルを固定するため、/model で選んでも次の起動では環境変数の値に戻っていました。「起動時の既定値だけ差し替えて、あとは手元の選択を覚えさせる」という使い方に対応するのが新変数です。
/model ピッカーも変わり、ハイライトされるのは最新モデル名だけ。ウィンドウに収まらない分はスクロールで表示されます。
相手セッションがアイドルになったら 1 回だけ届く通知
同一マシンの別 Claude Code セッションへメッセージを送る SendMessage に、notify_when_idle が加わりました(v2.1.236、macOS / Linux)。相手のセッションが次にアイドルになったタイミングで、通知が 1 回だけ飛んできます。
明示的に頼んだときだけ有効になるワンショットの仕組みで、ポーリングは走りません。並行で走らせた別セッションの完了待ちで、画面を見張り続ける必要がなくなります。
auto mode の審査が締まった
auto mode の判定基準も v2.1.236 で変わりました。
- auto mode 中は
Monitorの allow ルールが棚上げされ、Monitor コマンドも Bash コマンドと同じ審査を通る - Bedrock / Vertex AI / Foundry 利用時とテレメトリ無効時も、Claude API と同じ既定値(重大度スコア付き分類)で分類器が動く
- git status のチェックが、リポジトリの
status.showUntrackedFiles=no設定に「作業ツリーはクリーン」と騙されなくなった
タイプミスした Slash コマンドが勝手に走らない
コマンド名を打ち間違えて Enter を押した場合、これまでは最も近い候補がファジーマッチで実行されていました。v2.1.236 からは実行されず、エラーとして報告されます。前方一致とエイリアスは従来どおり動きます。
そのほか運用に触れる変更
いずれも v2.1.236 の変更。
| 変更 | 内容 |
|---|---|
/goal |
長いバックグラウンド作業待ちでアイドルになったセッションが、30 分後(以降 1 時間、2 時間)に自動でチェックイン |
/usage |
Team / Enterprise メンバーにも使用クレジットの消費行を表示。消費前でも 0% の行が出る |
| セッション recap | 自動生成・/recap とも 400 文字で単語境界カット。recap の暴走が止まった |
| print / SDK モードの SIGTERM | 中断ターンや合成 tool 拒否を記録せずに終了。終了コード 143 は従来どおり |
| Remote Control | CLI 終了やターミナルクローズから数秒でオフライン表示に |
SendMessage の連投 |
相手の受信上限を超える分は「送信済み」にせず、先に拒否 |
| フルスクリーンレンダラー | 起動に 1 回失敗しても永続故障せず、クラシックレンダラーにフォールバック |
| VSCode 拡張 | トランスクリプトのスクリーンリーダー対応(返信・許可要求・エラーのライブ読み上げ、ターン単位の見出しナビ) |
v2.1.229 の置き土産も今回で回収
カレントディレクトリが消えたあとのクリップボード・バックグラウンド処理・ローカル MCP ログの破損、そして skills ホットリロードのエラー。いずれも v2.1.229 で入り込んだ退行で、今回まとめて直りました。Fixed の行だけで 16 件、サンドボックスの穴埋めも含め、v2.1.236 は新機能より足場の補修に寄ったリリースです。
前回: Claude Code v2.1.235|Shift+Tab が編集許可をセッション全体に広げていた|毎日Changelog解説