新機能より、修正のほうが更新理由になる版

Claude Code v2.1.268 のリリースノートは長いのですが、追加された機能を理由に上げる版ではありません。 更新理由になるのは修正のほうです。

内訳を先に言うと、権限ルールが適用されない経路の修正が 2 件、シークレットが画面に表示されていた不具合の修正が 2 件、作業が止まる不具合の修正が 3 件あります。加えて、更新すると挙動が変わる変更が 2 件入っています。

この記事では、実務で Claude Code を動かしている前提で、確認すべき項目と、更新の前後で見直す設定 に絞って整理します。権限設定そのものの組み方は Claude Code の権限と settings.json 設計 を参照してください。

権限ルールが適用されなかった 2 つの経路

まず壊れ方から言います。今回の修正のうち、いちばん優先度が高いのはここです。

Fixed deny and ask permission rules on symlinked directories (/etc, /tmp, /var on macOS; /bin on Linux) not applying when a path was given by its real location, and Bash commands ignoring deny rules written on a symlinked path spelling

シンボリックリンクになっているディレクトリに書いた deny・ask ルールが、実体側のパスで指定されたときに適用されませんでした。 逆向きもあります。シンボリックリンク側の書き方で設定した deny ルールを、Bash コマンドが無視していました。

対象として名指しされているのは macOS の /etc/tmp/var と Linux の /bin です。このあたりを deny に入れている設定は珍しくありません。 入れているつもりで、通っていた可能性があります。

もう 1 件は、コマンドの書き方に関するものです。

Fixed a case where a Read or Edit deny rule did not apply when an env -C, eval or similar command the permission checker cannot analyze was on the same line

env -Ceval のように権限チェッカーが解析できないコマンドが同じ行にあると、Read や Edit の deny ルールが適用されない場合がありました。

どちらも、設定を書いた側は止まっている前提で運用します。止まっていなかったことは、画面には出ません。 そこが性質として良くない部分です。

注意

deny ルールを書いた対象が、これまで実際に読まれたり書かれたりしていた可能性があります。監査ログや操作履歴を残している環境なら、更新前に一度さかのぼって確認してください。

権限チェックを回避できる不具合は、v2.1.221〜223 でも続けて修正されています。今回で 4 度目の系統です。経緯と判断軸は Claude Code の権限バイパス修正が続いた 3 リリース にまとめています。

シークレットが画面に表示されていた

2 件目の系統です。こちらは修正されたあとの作業が残ります。

Fixed plugin and marketplace errors showing a token or password from a git source URL

Fixed /mcp and /plugin server details, claude mcp list/get, and MCP login errors showing secrets resolved from ${VAR} placeholders in MCP configs

プラグインとマーケットプレイスのエラーが、git ソース URL に含まれるトークンやパスワードを表示していました。 また、/mcp/plugin のサーバー詳細、claude mcp listget、MCP のログインエラーが、MCP 設定の ${VAR} から解決した値をそのまま表示していました。

${VAR} を使うのは、設定ファイルに値を直接書かないためです。設定ファイルには残らないのに、表示のほうに出ていた という状態でした。

自分なら、更新したあとに次を確認します。

  1. ターミナルのスクロールバック。 手元の端末に残っていないか
  2. CI のジョブログ。 claude mcp list を診断目的で走らせている場合、ログが保存されています
  3. 共有したスクリーンショットと画面録画。 設定の説明でチームに配ったものが対象です

該当があれば、表示された値は入れ替えてください。 出てしまったものは取り消せません。手元だけの表示で終わっていたなら、そこで確認は終わりです。

作業が止まる不具合の修正

3 件目の系統です。こちらは、当てはまる環境なら更新したその日に体感が変わります。

サードパーティの Anthropic 互換エンドポイントを使っている場合、2.1.265 以降は毎ターン失敗していました。

Fixed every turn failing with HTTP 400 on third-party Anthropic-compatible endpoints (ANTHROPIC_BASE_URL) since 2.1.265: a regex in the Artifact tool's input schema that those endpoints reject

原因は Artifact ツールの入力スキーマに含まれる正規表現で、互換エンドポイント側がこれを拒否していました。ANTHROPIC_BASE_URL を設定して社内のゲートウェイや互換 API に向けている環境なら、設定を疑う前にバージョンを確認してください。 設定側では直せません。

WebFetch が終わらない場合の期限も入りました。

Fixed WebFetch hanging indefinitely on a server that keeps the response open without finishing; a fetch now fails after 300 seconds. Set CLAUDE_CODE_WEBFETCH_DEADLINE_MS to override the deadline (0 turns it off)

応答を開いたまま終わらせないサーバーに当たると、これまでは待ち続けていました。300 秒で失敗するようになり、CLAUDE_CODE_WEBFETCH_DEADLINE_MS で変更できます。 0 を指定すると期限が無くなります。

無人で走らせるジョブほど影響が出る部分です。1 回のハングでジョブの実行時間を使い切るためです。期限を切る側に倒しておくのが妥当 で、既定の 300 秒より短くしたい運用もあり得ます。

もう 1 件、CPU の使用率に関する修正があります。

Fixed sustained high CPU usage: a busy loop in long-running idle sessions no longer pins a CPU core, and rapid terminal focus reports during a session recap no longer keep the CPU high

長時間アイドルのセッションが CPU コアを占有し続ける状態が解消しました。 セッションを開きっぱなしにする使い方だと、当たっていた可能性があります。開発機のファンが回り続けていた心当たりがあれば、ここが該当します。

更新すると挙動が変わる 2 件

修正とは別に、更新した時点で挙動が変わるものが 2 件あります。片方は許可が意図せず広がる方向なので、設定の見直しが必要です。

変更何が変わるか対応
task-tracking ツールの提供モデル限定対象外のモデルで TaskCreate・TodoWrite が提供されないCLAUDE_CODE_ENABLE_TODO_TOOLS=1 を設定する
WebFetch ルールが Artifact ツールに適用されない既存の deny・ask ルールで Artifact の読み書きが止まらないArtifact ルール、または WebFetch(domain:claude.ai) を足す

上から見ます。

Changed the task-tracking tools (TaskCreate/Get/Update/List, TodoWrite) to be offered only on Claude 3.x, Opus 4.0–4.7, Sonnet 4.0–4.6, Haiku 4.5; set CLAUDE_CODE_ENABLE_TODO_TOOLS=1 elsewhere

task-tracking ツールが提供されるモデルが、Claude 3.x・Opus 4.0〜4.7・Sonnet 4.0〜4.6・Haiku 4.5 に限定されています。 一覧の外のモデルで使うなら、CLAUDE_CODE_ENABLE_TODO_TOOLS=1 を設定します。この方針自体は v2.1.233 からのもので、今回は対象モデルが改めて示された形です。詳細は Claude Code で TodoWrite が使えない に整理しています。

問題は下です。

Changed plain WebFetch deny and ask rules to no longer apply to Artifact tool reads and updates; use an Artifact rule (or WebFetch(domain:claude.ai)) to block or gate them

WebFetch の deny・ask ルールが、Artifact ツールの読み書きには適用されなくなりました。 止めたい場合は Artifact ルールを書くか、WebFetch(domain:claude.ai) を指定します。

ここが今回いちばん見落としやすい変更です。修正ではなく仕様の変更で、更新すると許可の範囲が広がる方向に動きます。 これまで WebFetch の deny ルール 1 行で両方を止めていた設定は、更新した時点で片方が外れます。設定ファイルは変わっていないので、差分にも出ません。

補足

組織の managed settings で WebFetch の deny・ask を配っている場合は、配布側の設定を先に直してください。端末を更新した順に挙動が変わるため、揃わない期間が出ます。

FIXITFIXIT

設定は 1 行も変えてないのに、許可が広がることってあるんだ?

DodaiDodai

あります。ルールの対象範囲が変わると、書き方は同じでも結果が変わります。

FIXITFIXIT

それ、どうやって気づくの?

DodaiDodai

リリースノートの Changed の行を読むしかありません。差分には出ません。

体感が変わる改善

優先度は下がりますが、毎日触る部分の改善も入っています。

  • fullscreen モードで Shift+Enter によるプロンプト行の増減が、文字入力と同じ速さで再描画されるようになりました
  • --continue--resume で、SessionStart フックの完了を待たずに会話が表示されるようになりました
  • .claude/workflows/ にスクリプトがあるプロジェクトで、起動時に各スクリプトを解析しなくなり起動が速くなりました
  • auto mode で拒否されたとき、Claude が受け取るメッセージが どのルールで止まったかを名指しする ようになりました

最後の 1 件は、運用の観点でも意味があります。止まった理由が Claude 側に伝わるため、同じ操作を別の手段で繰り返す動きが減ります。 権限設計を細かく詰めている環境ほど差が出る部分です。

更新の進め方

自分なら、次の順で進めます。

  1. 更新前に settings.jsonpermissions を開き、WebFetch の deny・ask ルールを確認する。 Artifact の読み書きまで止めていたなら、Artifact ルールか WebFetch(domain:claude.ai) を足しておく
  2. 1 台で更新し、deny ルールが意図どおり止まるかを実際に試す。 シンボリックリンク側と実体側の両方のパスで確かめる
  3. シークレットの表示が残っていないかを確認する。 スクロールバック、CI のログ、共有済みのスクリーンショット
  4. 問題がなければ全体に展開する。 managed settings を配っているなら、配布側の設定を先に反映させる

1 番を飛ばすと、更新した端末から順に許可の範囲が変わります。 気づくのは、想定していなかった読み書きが通ったあとです。順番を入れ替えないでください。

コツ

更新の適用範囲と順序を決めておくと、この手のリリースのたびに判断し直さずに済みます。Claude Code をチームで運用するときの設計は Claude Code の権限と settings.json 設計 を参照してください。

社内の運用ルールに落とし込むところで止まっている場合は、お問い合わせ からご相談ください。AI 駆動開発のクリエイティブスタジオとして、権限設計と更新運用の設計からお手伝いしています。

更新を待つ理由は無い

今回の版は、要件がある人に効く新機能で選ぶ版ではありません。 権限ルールが適用されない不具合と、シークレットが表示される不具合。どちらも、使っている側からは気づけない種類です。

エンタープライズ向けの追加が中心だった v2.1.224 とは性格が違います。あちらは要件があるかどうかで判断する話でした。整理は Claude Code に自社マシンで動かす選択肢が入った にまとめています。

今回は要件の有無で判断する話ではありません。使っているなら当てる、という種類の版です。 ただし WebFetch のルール変更だけは先に手を入れてから上げてください。

まとめ

  • v2.1.268 の更新理由は新機能ではなく修正。権限・シークレット・停止の 3 系統
  • シンボリックリンク経由のパス指定で deny・ask ルールが適用されない不具合が修正された
  • env -Ceval が同じ行にあると Read・Edit の deny ルールが適用されない件も修正された
  • プラグインと MCP のエラー表示から、git URL のトークンと ${VAR} の解決値が消えた。ログとスクリーンショットの確認が残る
  • ANTHROPIC_BASE_URL の互換エンドポイントが毎ターン HTTP 400 になる回帰が解消した
  • WebFetch のハングは 300 秒で失敗する。CLAUDE_CODE_WEBFETCH_DEADLINE_MS で変更できる
  • WebFetch の deny・ask ルールは Artifact ツールに適用されない。更新前に設定を見直す