Claude Code v2.1.259〜v2.1.260 の主要アップデート - 差分パネルの追加と権限ルールのセキュリティ修正

Claude Code v2.1.259〜v2.1.260 の主要アップデート - 差分パネルの追加と権限ルールのセキュリティ修正

Claude Code v2.1.259と260の2つのリリースで100件超の変更が入りました。権限ルール周りの重要な修正が多いほか、会話の横で差分を確認できる新しいパネルも登場しています。本日は、差分パネル(`/diff`)を試してみました。
2026.09.04

クラウド事業統括本部の石川です。Claude Code の v2.1.259(2026-09-02)と v2.1.260(2026-09-03)のアップデートをまとめてご紹介します。2 日で 100 件を超える変更が入った、かなり密度の高い 2 リリースだと感じます。本日は、差分パネル(/diff)を試してみました。

前回のアップデート記事はこちらです。

https://dev.classmethod.jp/articles/20260902-cc-updates-v2-1-258/

アップデートサマリー

対象は 2 バージョン(v2.1.259 〜 v2.1.260、2026-09-02 〜 2026-09-03)で、CHANGELOG に記載された変更は 103 件です。内訳は新機能 13 件、改善・パフォーマンス 20 件、修正 58 件、セキュリティ 7 件、破壊的変更 4 件、ドキュメント 1 件でした。修正が全体の半分以上を占め、権限ルール・サンドボックス・管理設定に関する項目が両バージョンにまたがって並んでいます。

注目のアップデート

会話の横で差分を確認できる差分パネル(v2.1.260)

フルスクリーンモードで、会話の横に開く差分パネルが追加されました。Claude が編集するのに合わせて未コミットの変更が表示され、/diff で開閉できます。この差分パネル(/diff)の使い方について後述しています。

Claude に大きめの変更を任せる方ほど、編集の途中経過をその場で確認できる価値は大きいと感じます。

無人実行向けの --permission-prompts none(v2.1.259)

無人のヘッドレス環境向けに --permission-prompts none が追加されました。プロンプトが必要になる操作は自動的に拒否され、権限モード(auto モードを含む)の判断は従来どおり働きます。

CI や定期実行のように入力待ちで止まれない環境で Claude Code を回している方は、権限モードとの組み合わせを一度確認しておく価値があると感じます。

権限ルールが効いていなかった問題の修正(v2.1.260)

ファイル権限ルールの扱いに関する修正が 3 件入りました。

  • パスに丸括弧を含む Edit/Write/Read の権限ルールが無効として破棄され、Bash サンドボックスからも無視されていた問題を修正しました。読み取り専用のはずのフォルダが書き込み可能な状態になっていました。
  • コンパイルできないパターン(閉じていない [ など)のファイル権限ルールが 1 つあると、すべてのファイル編集が Invalid regular expression で失敗する問題を修正しました。そうした拒否ルールは記述されたパス文字列そのものを保護します。
  • REPORTTIME、REPORTMEMORY、DIRSTACKSIZE への代入にコマンド置換を隠した zsh コマンドを、Bash の権限チェックが自動承認していた問題を修正しました。これらは承認を求めるようになりました。

permissions に拒否ルールを書いて運用しているチームは、括弧を含むパスや [ を含むパターンを使っていないか、この機会に見直しておくとよいと感じます。

Bash 引数への Read() 拒否ルール適用と、その取り消し(v2.1.259 → v2.1.260)

v2.1.259 では、Bash の Read() 拒否ルールが、オプション値として渡されたファイル(--ignore-revs-file=.env-f.env@file)、git diff/git grep のファイル引数、cd DIR && cat FILE の複合コマンドをカバーしていなかった問題が修正されました。

翌日の v2.1.260 では、この変更が取り消されています。Read(./**/build/**) のルール下ではどのモードでも npm run build が拒否され、auto モードでも cd … && grep が確認を求める状態になっていたためです。

v2.1.259 で npm run build のようなコマンドが急に拒否されるようになって困っていた方は、v2.1.260 へ上げることで解消すると読めます。

複数セッションによる ~/.claude.json の巻き戻し(v2.1.259)

複数セッションを同時に動かすと ~/.claude.json の変更を互いに打ち消し合い、ワークスペースの信頼設定がリセットされたり MCP・プロジェクトの状態が失われたりする問題が修正されました。

複数のターミナルや IDE で Claude Code を同時に立ち上げる使い方をしている方には、地味ながらよく効く修正だと感じます。

/rewind が復元していないのに成功と報告する問題(v2.1.260)

チェックポイントのバックアップファイルが存在せず、実際には何も復元されていないのに、/rewind--rewind-files が成功したと報告する問題が修正されました。

チェックポイントからの復元を安全網として使っている方は、成功表示を鵜呑みにできない状態だった点を踏まえ、早めにアップデートしておくのが安心だと感じます。

社内ルート CA 環境での Bedrock 接続エラー(v2.1.260)

企業のルート CA が OS の証明書ストアにしか存在しない場合に、Bedrock のモデル検出・トークンカウント・AWS SSO/STS の資格情報取得が unable to get local issuer certificate で失敗する問題が修正されました。

社内 CA のある環境で Amazon Bedrock 経由の Claude Code を試して証明書エラーで止まっていた方は、再挑戦する価値があると感じます。

差分パネル(/diff)を試してみた

v2.1.260 で追加された差分パネルが、会話の横で未コミットの差分を表示し、Claude の編集に追従するかを確認します。

Step 0: 作業用リポジトリを用意する

既存のリポジトリで試しても構いませんが、未コミットの変更を作るので、練習用のリポジトリを用意すると安全です。

mkdir -p ~/tmp/diff-panel-handson && cd ~/tmp/diff-panel-handson
git init -q

cat > app.py <<'PY'
def greet(name):
    return f"Hello, {name}"

def add(a, b):
    return a + b
PY

cat > utils.py <<'PY'
def to_upper(text):
    return text.upper()
PY

cat > test_app.py <<'PY'
from app import add

def test_add():
    assert add(1, 2) == 3
PY

git add -A && git commit -qm "initial commit"
git log --oneline

コミット済みの状態から始めることで、このあとの編集が「未コミットの変更」として差分パネルに現れます。

cc-v2-1-260-1

Step 1: ターミナル幅を確認・調整する

tput cols

実行例です。

80

cc-v2-1-260-2

tput cols が 110 未満のときは、ターミナルウィンドウを広げるかフォントサイズを下げてください。110 カラム未満だと、/diff を実行しても次のメッセージが出てパネルは開きません。

Resize your terminal to at least 110 columns to show the diff panel

そのため、ターミナルウィンドウを広げながらtput colsを実行して、 110 未満にならないように調整してください。私は144に合わせて検証しました。

cc-v2-1-260-3

Step 2: Claude Code を起動してフルスクリーンモードに切り替える

用意したリポジトリのディレクトリで起動します。

cd ~/tmp/diff-panel-handson
claude

起動したら、プロンプトで次のスラッシュコマンドを実行します。

/tui fullscreen

/tui は「Set the terminal UI renderer (default | fullscreen)」を行うコマンドで、引数は defaultfullscreen です。フルスクリーンへの切り替えではセッションが再起動して再開されます。

cc-v2-1-260-4

Step 3: 未コミットの変更を作る

Claude に編集を依頼して、差分が出る状態にします。プロンプトに次のように入力します。

app.py の greet 関数に docstring を追加して、utils.py に to_lower 関数を追加してください。

編集が終わったら、差分が生まれていることを確認します。

! git status --short

cc-v2-1-260-5

Step 4: /diff で差分パネルを開く

プロンプトで実行します。

/diff

フルスクリーンモードでの /diff を実行すると、会話の横に差分パネルが開き、未コミットの変更が表示されることを確認できます。

  1. パネルが会話の右側(横)に開くこと
  2. app.pyutils.py の変更が表示されていること
  3. コミット済みで変更していないファイル(test_app.py)が差分に出ていないこと

cc-v2-1-260-8

フルスクリーンモード以外で /diff を実行した場合は、パネルではなく従来の差分ビュー(View uncommitted changes and per-turn diffs)になります。

Step 5: 編集に追従することを確認する

パネルを開いたまま、続けてプロンプトで編集を依頼します。

「Hello」を「こんにちは」に変更してください。

Claude が編集するのに合わせて、パネルの表示が更新されることを確認します。ここが今回のアップデートの要点です。

cc-v2-1-260-9

Step 6: パネルを閉じる

もう一度実行すると閉じます。

/diff

トグル動作になっていることを確認したら、レンダラーを元に戻します。

/tui default

エージェントに任せる作業が長くなるほど「今どこが変わったのか」を見失いがちでしたが、差分が常に横にある状態は、その不安をかなり減らしてくれると感じます。

対象バージョンと期間

バージョン 公開日
v2.1.259 2026-09-02
v2.1.260 2026-09-03

新機能

  • フルスクリーンモードで会話の横に開く差分パネルを追加しました。Claude が編集するのに合わせて未コミットの変更が表示され、/diff で開閉できます(v2.1.260)
  • プロンプトキャッシュのミスの推定原因(ツール定義やシステムプロンプトの変更、TTL を過ぎたアイドルなど)が、/cost とステータスラインの prompt_cache フィールドに表示されるようになりました(v2.1.260)
  • 無人のヘッドレス環境向けに --permission-prompts none を追加しました。プロンプトが必要になる操作は自動的に拒否され、権限モード(auto モードを含む)の判断は従来どおり働きます(v2.1.259)
  • 組織が全ユーザーに HTTP/SSE の MCP サーバーを配布できる管理設定 managedMcpServers を追加しました。記述形式は .mcp.json と同じで、コマンド実行を指定するエントリはスキップされます(v2.1.259)
  • glab mr create/merge/close/reopen/note/update を認識し、GitLab のマージリクエストが折りたたみツール要約に MR !N として表示され、フッターの MR バッジも更新されるようになりました(v2.1.259)
  • claude plugin validate--json を追加し、機械可読な検証レポートを出力できるようになりました(v2.1.259)
  • デスクトップアプリ・リモートコントロール・ヘッドレス(-p/Agent SDK)セッション向けに、テキスト形式の /advisor/advisor/advisor <model>/advisor off)を追加しました(v2.1.260)
  • ヘッドレスセッションで /reload-plugins が使えるようになり、Claude Code Desktop と SDK のコマンド一覧にも表示されます(v2.1.260)
  • リフレッシュ時に openid を再度要求された場合のみ id_token を返す IdP のために、Claude apps ゲートウェイへ oidc.scope_on_refresh を追加しました(v2.1.260)
  • Claude apps ゲートウェイが、desktop ポリシーブロックで新しい Claude Desktop のキー(userPluginMarketplacesEnableduserPluginUploadsEnabled を含む)をサポートしました(v2.1.260)
  • [VSCode] セッション一覧サイドバーに Active クイックフィルターとステータスフィルターメニュー(Needs input / Working / Completed)を追加しました(v2.1.259)
  • [VSCode] フッターのモデルピルに選択中の effort レベルを表示するようになりました。モデル切り替え後に effort レベルが古いまま残る問題を修正し、フッターのピルは以前のコンパクトなサイズに戻りました(v2.1.260)
  • [VSCode] セッション一覧のステータスフィルターメニューに Open と Closed を追加しました(v2.1.260)

改善

  • Amazon Bedrock 上の Claude apps ゲートウェイで、中断されたリクエストの入力トークンを、1 トークンのリクエストではなく AWS の無料の CountTokens API で数えるようになりました。bedrock:CountTokens の許可が必要です(v2.1.260)
  • 1M コンテキストのモデル向けに自動コンパクトを改善しました。Opus と Fable のセッションは 1M トークンの上限の手前で圧縮されるようになり、非常に大きなコンテキストでの復旧用の圧縮も 10 分でタイムアウトしなくなりました(v2.1.260)
  • フルスクリーンモードの ctrl+lcmd+k が、ターミナルの clear と同じようにトランスクリプト表示をクリアする挙動に変わりました。それ以前のメッセージは上にスクロールすれば参照できます(v2.1.260)
  • サブエージェントが開始したバックグラウンドコマンドの 1 時間の実行時間制限が撤廃されました。メインセッションと同様、終了するか停止されるまで実行されます(v2.1.260)
  • 非対話(-p/SDK)セッションのアイドル時の CPU 使用率を改善しました(v2.1.260)
  • Claude Fable 5.1 で /effort を使い、セッションの途中で effort を変更してもプロンプトキャッシュが無効化されなくなりました(v2.1.260)
  • テキストの計測結果を再利用することで、長い応答時のターミナルのリサイズと初回描画の性能を改善しました(v2.1.259)
  • ネストしたバックグラウンドサブエージェントの結果が親サブエージェントのトランスクリプトに保存されるようになり、再開したサブエージェントでも結果が保持され、共有トランスクリプトにも表示されます(v2.1.259)
  • 構造化出力を改善しました。Workflow の agent({schema}) は満たしようのない JSON Schema を事前に拒否し、リトライ上限のエラーには最後の検証失敗の内容が含まれます(v2.1.260)
  • 未プッシュのコミットがある worktree のバックグラウンドセッションを削除する際、メッセージにブランチ名とコミット数が示されるようになり、もう一度削除すると worktree を破棄します(v2.1.260)
  • /ultrareviewclaude ultrareview が、長時間かかるクラウドレビューを最大 45 分(従来は 30 分)待つようになりました(v2.1.260)
  • サーバー管理設定のうち、管理された CLAUDE.md(claudeMd)はセキュリティ承認ダイアログを表示しないよう変更されました。フック・シェルコマンド・サンドボックス・安全でない env の設定は引き続き承認が必要です(v2.1.260)
  • managedMcpServersorgPluginSettings のエントリのネストしたオブジェクト内でフィールド名を綴り間違えた場合も、Claude apps ゲートウェイが該当フィールドを名指しして起動を拒否するよう変更されました(v2.1.260)
  • セルフホストランナーの --kill-session-after-min が、ユーザーの入力を待っているだけのセッション(一時停止中で次のメッセージから再開可能)を、終了させて失敗として報告するのではなく解放するよう変更されました(v2.1.260)
  • このほか、/workflows の JSON 出力の整形表示、/install-github-app の GitLab リポジトリでの案内、ヘッドレス/SDK セッションの起動時間、Claude apps ゲートウェイのログや設定エラーの文言、バンドルされる claude-api スキルのサンプル更新など、細かな改善が入っています(v2.1.259、v2.1.260)

修正(主要なもの)

安定性・操作性に関わる修正のうち、「注目のアップデート」で取り上げたもの以外から抜粋します。

  • 管理設定が解析できないときに起動を拒否するよう修正: 管理設定ファイル・ドロップイン・MDM plist・HKLM 値のいずれかが解析できないときに、管理設定が適用されないまま起動していた問題を修正しました。Claude Code は起動を拒否し、原因となったソースを名指しします(v2.1.259)
  • Claude Fable 5.1 のプロンプトキャッシュ漏れを修正: ツール結果の後に付加されるコンテキストがプロンプトキャッシュの対象になっておらず、ツール呼び出しのたびに未キャッシュの入力として再送されていた問題を修正しました(v2.1.260)
  • 管理設定 skillOverrides とスキル拒否ルールの不適用を修正: バンドル済みスキルのエイリアス(/doctor に対する checkup など)をキーにした skillOverrides が適用されない問題と、<dir>:name の形で列挙されるネストしたスキルに Skill(name) の拒否ルールが効かない問題を修正しました(v2.1.260)
  • Glob/Grep の権限チェック順序を修正: 権限チェックの前に検索パスの存在をディスク上で確認していた問題を修正しました。Read と同様、権限が判断された後に、存在しないパスが報告されます(v2.1.260)
  • セッション再開の失敗を修正: 保存済みセッションにペイロードのない添付エントリが含まれると --resume が失敗し、--continue が空の会話を開く問題を修正しました(v2.1.259)
  • MCP サーバーの接続状態の誤表示を修正: 起動時のツール一覧取得中に切断された MCP サーバーが、エラーを報告せずツール 0 件の接続済みとして表示される問題を修正しました(v2.1.259)
  • SDK 提供の MCP サーバーの取りこぼしを修正: SDK から提供される MCP サーバー(Desktop のコネクタなど)が最初のターンでは認識されず、次のターンで現れる場合がある問題を修正しました(v2.1.260)
  • worktree 分離セッションのコマンド拒否を修正: メインのチェックアウトに到達できない一般的な Bash ループ・xargs パイプライン・ランチャー経由のコマンドが拒否される問題を修正しました(v2.1.259)
  • フルスクリーンモードの空白表示を修正: 数百件のツール呼び出しを伴う長いターンの後、フルスクリーンモードで会話が空白表示になる問題を修正しました(v2.1.259)
  • フルスクリーンでの Ctrl+Z の表示崩れを修正: 代替スクリーン上に一時停止した画面が重なったまま残る問題を修正しました(v2.1.260)
  • /rewind 後のファイル読み取り追跡の残留を修正: 巻き戻したターンのファイル読み取り追跡が残り、外部編集の後に File unchanged since last read のスタブやファイル全体の再挿入が起きる問題を修正しました(v2.1.260)
  • IDE の行選択の消失を修正: スキルやスラッシュコマンドを実行すると IDE の行選択が失われる問題を修正しました。「N lines selected」のコンテキストが Claude に渡ります(v2.1.260)
  • GitLab のサブグループのリポジトリ検出を修正: ネストしたサブグループにある GitLab プロジェクト(gitlab.com/group/subgroup/project など)が検出されない問題を修正しました(v2.1.260)
  • /status の資格情報表示を修正: サインイン済みの claude.ai アカウントと設定済みの API キーの両方を有効であるかのように表示する問題を修正しました。使用されていない側の資格情報にはその旨が表示されます(v2.1.260)
  • /model ピッカーの表示漏れを修正: 利用できる組織でも /model のピッカーに Claude Fable 5.1 が表示されず、/model claude-fable-5-1 と入力したときだけ受け付けられる問題を修正しました(v2.1.260)
  • 地味に嬉しい修正: 国旗・結合絵文字・アクセント付き文字が折り返し行で分割される問題と、それらがターミナルの最後の 2 カラムにかかったときに古い文字が画面に残る問題を修正しました(v2.1.260)。絵文字やアクセント付き文字を含む出力で表示が崩れると読み返しづらかったので、地味ながらありがたい修正だと感じます
  • このほか、ワークフローの再開、Artifact の公開、マーケットプレイス URL の解釈、OpenTelemetry の属性、VSCode 拡張のセッション一覧など、多数の細かな不具合が修正されています(v2.1.259、v2.1.260)

破壊的変更・非推奨

今回の範囲に非推奨の項目はありませんが、設定や既存の運用に影響しうる変更が 4 件あります。以下に示す設定と挙動の対比は、いずれも構成を示すための例です。

allowedMcpServers の対象がユーザー追加分のみに変更(v2.1.259)

allowedMcpServers の対象が、ユーザーが追加したサーバーのみに変更されました。この許可リストで除外していた managed-mcp.json 由来のサーバーはアップグレード後に読み込まれるため、無効のままにするには deniedMcpServers を使います。

変更前(〜v2.1.258)

// settings.json(例)
{
  "allowedMcpServers": ["my-http-server"]
}
// この許可リストは managed-mcp.json 由来のサーバーも対象で、リストに無いものは読み込まれませんでした

変更後(v2.1.259〜)

// settings.json(例)
{
  "allowedMcpServers": ["my-http-server"],
  "deniedMcpServers": ["managed-server-name"]
}
// allowedMcpServers はユーザーが追加したサーバーのみを対象とするため、
// managed-mcp.json のサーバーを無効のままにするには deniedMcpServers を使います

! の bash モードプロンプトがサンドボックス外で実行されるよう変更(v2.1.260)

厳格なサンドボックスモード(sandbox.allowUnsandboxedCommands: false)が有効でも、! の bash モードのプロンプトで入力したコマンドは、自分のターミナルに入力した場合と同様にサンドボックスの外で実行されるようになりました。対象は ! のプロンプトから入力したコマンドで、Claude Code が実行するコマンド全般ではありません。

閉じ括弧の後ろに文字列が続く権限ルールが無効な設定として報告される(v2.1.260)

閉じ括弧の後ろに文字列が続く権限ルール(Bash(ls) x など)は、これまで何にも一致しませんでしたが、無効な設定として報告されるようになりました。

Claude in Chrome が組織の管理設定に従うよう変更(v2.1.260)

Claude in Chrome が、組織の Claude in Chrome 管理設定に従うようになりました。v2.1.260 以降は、組織の管理設定に従い、管理者が無効にすると --chrome/chrome、ブラウザツールが利用できません

最後に

2 つのバージョンで 100 件を超える変更が入りましたが、内訳を見ると権限ルールとサンドボックスまわりの修正が目立ちます。設定に書いた拒否ルールが実は効いていなかった、という類の修正が複数あるため、permissions を細かく書いて運用しているチームほど、今回のアップデートの価値は大きいと感じます。

アップデートして試してみてはいかがでしょうか。気になる変更があれば、手元の設定とあわせて確認してみてください。

参考文献

https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md

https://code.claude.com/docs/en/changelog

https://dev.classmethod.jp/articles/20260902-cc-updates-v2-1-258/


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事