Claude Code 2.1.304の変更点|worktreeオプションでブランチが消える不具合の修正と、/auto-mode-setupが使える環境の拡大

Claude Code 2.1.304の変更履歴と、2.1.305も公開されたことを示す図。2.1.305以降にしておけば両方の修正が入ります。--worktreeの不具合の修正(確認なしでブランチが消されることがあった)、/auto-mode-setupが使える環境が増えた(Amazon BedrockやGoogle Vertex AIなどでも)、2.1.305で直った2.1.304の不具合(Vertex、Bedrockなどでリクエストが失敗していた)の3つ

Claude Code 2.1.304が2026年10月20日(日本時間)に公開されました。claude --worktreeで終了時にworktreeとブランチが確認なしで消され、コミットを失うことがあった不具合が直っています。また、/auto-mode-setupがAmazon BedrockやGoogle Vertex AIなどでも使えるようになりました。

翌日の10月21日(日本時間)には2.1.305が公開され、2.1.304で入った不具合も直っています。これから更新する場合は、2.1.305以降にしておけば両方の修正が入ります。ただし、確認した時点(10月21日7時21分、日本時間)では、2.1.305はnpmとネイティブ版のlatestチャンネルにだけ出ていて、stableチャンネルとHomebrewはまだ2.1.304でした(後半の「2.1.305にするには」)。

目次

まず確かめること:バージョンと更新

入っているバージョンは、シェルで次のコマンドを実行すると表示されます。公式ドキュメントでは、正しくインストールされていれば「2.1.211 (Claude Code)」のようにバージョン番号が出ると説明しています。

claude --version

ネイティブインストールの場合は、バックグラウンドで自動的に更新されます。すぐに更新したいときは、次のコマンドを実行します。

claude update

更新されると「Successfully updated from <old version> to version <new version>」、すでに最新のときは「Claude Code is up to date (<version>)」と表示されます。Homebrew、WinGet、apkで入れた場合は「Claude is up to date!」と表示されます。

HomebrewやWinGetで入れた場合は、初期設定では自動で更新されません。環境変数CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATEを1にすると、新しいバージョンが出たときにClaude Codeがバックグラウンドで更新のコマンドを実行します。手動で更新するときは、Homebrewは入れたcaskに合わせて、どちらかを実行します。

brew upgrade claude-code
brew upgrade claude-code@latest

WinGetでは次のコマンドです。

winget upgrade Anthropic.ClaudeCode

Homebrewのclaude-codeは「stable」チャンネルを追い、公開から1週間ほど遅れたバージョンが届きます。大きな不具合があるリリースは飛ばされます。claude-code@latestは、公式ドキュメントでは新しいバージョンがすぐ届く「latest」チャンネルとされています(今の配信の状況は後半の「2.1.305にするには」)。

インストールの状態をもっと詳しく見たいときは、claude doctorを使います。セッションを始めずに、インストールの状態、設定ファイルのエラー、警告と直し方を表示します。最後に試した更新の結果もここで確かめられます。

claude doctor

--worktreeでブランチが消えることがある不具合の修正

2.1.304の変更履歴には、次の修正があります。claude --worktreeで作ったworktreeで、HEADが切り離されている(detached)か別のブランチに移っていると、終了時に確認なしでworktreeとそのブランチが消されることがありました。その結果、コミットを失うおそれがありました。

--worktree(または-w)は、Claude Codeのセッションを専用のgit worktreeで動かすオプションです。公式ドキュメントによると、初期設定ではリポジトリーのルートにある.claude/worktrees/<name>/にworktreeを作り、worktree-<name>という新しいブランチで始めます。

公式ドキュメントの例では、次のように名前を付けて起動します。

claude --worktree feature-auth

本来は、対話セッションを終えるときに、Claude Codeが変更されたファイル、追跡されていないファイル、新しいコミットなど、消すと失われる作業がないかを確かめます。

  • worktreeに作業が残っていない:名前を付けていないセッションでは、worktreeとブランチを自動で消します。名前を付けたセッションでは、残すかどうかを先に尋ねます。
  • worktreeに作業が残っている:残すか消すかを尋ねます。残すとフォルダーとブランチがそのまま残り、終了時に表示されるclaude --worktree <name> --resumeのコマンドで戻れます。

今回直ったのは、HEADが切り離されていたり別のブランチに移っていたりすると、この確認が出ずに消されていた点です。--worktreeを使っていて、worktreeの中でブランチを切り替えたり、特定のコミットをチェックアウトしたりすることがある人は、2.1.304以降に更新してください。Vertex、Bedrock、ゲートウェイ経由で使っている人は、2.1.304で入った不具合が直った2.1.305以降にしてください(後半の「2.1.305で直った、2.1.304の不具合」)。

なお、2.1.305でも、bareリポジトリーで新しいworktreeが既定のブランチではなくローカルのHEADから作られることがあった不具合と、変更のないサブエージェントのworktreeが片づけられないことがあった不具合が直っています。

/auto-mode-setupが使える環境が増えた

オートモード(auto mode)は、ツールの呼び出しを分類器(classifier)に通し、取り返しのつかない操作や壊す操作、作業環境の外に向けた操作を止めながら、いつもの許可の確認を出さずに進めるモードです。/auto-mode-setupは、プロジェクトと最近のセッションを読んで、このオートモードに自分の環境を教える設定の下書きを作るコマンドです。

2.1.304では、/auto-mode-setupがAmazon Bedrock、Google Vertex AI、Microsoft Foundry、Claude apps ゲートウェイ、テレメトリーをオフにしたセッションでも使えるようになりました。公式ドキュメントでも、これらの環境では2.1.304より前のバージョンだとこのコマンドが使えないとしています。

使える条件

公式ドキュメントによると、/auto-mode-setupはPro、Max、Team、Enterpriseの各プランと、Claude ConsoleのAPIキーで使えます。必要なバージョンは次のとおりです。

  • Pro・Max・Team:2.1.228以降(Windowsのネイティブ版は2.1.233以降)
  • Enterprise・Claude ConsoleのAPIキー:2.1.283以降
  • 機能フラグの取得がオフのセッション(テレメトリーをオフにしたとき、サードパーティプロバイダー、Claude apps ゲートウェイなど):2.1.304以降

何を読んで、どこに書くか

/auto-mode-setupを実行したとき、~/.claude/settings.jsonにすでにautoModeの設定があれば、Claude Codeは最初に、今のリストに足すか置き換えるかを尋ねます。自分で書いたルールは、どちらを選んでも残ります。そのあと、プロジェクトの使い方を尋ね、2つの任意のスキャンをするかどうかを聞いてから読み始めます。いつも読むのは次のものです。

  • このプロジェクトのCLAUDE.md、README.md、設定ファイル、gitのリモート
  • 自分のautoModeとpermissions.allowの設定
  • このプロジェクトでの最近のセッションで、Claudeが実行したコマンドのホスト名、バケット名、コマンド名(自分が書いたメッセージは読まない)

任意のスキャンを選ぶと、シェルの履歴にある各コマンドの最初の単語と、ホームディレクトリー以下にあるリポジトリーのリモートのホスト名と名前も読みます。

下書きは全体を受け入れるか捨てるかのどちらかで、受け入れると~/.claude/settings.jsonに書き込まれます。1項目ずつ直したいときは、あとからこのファイルを編集します。保存したあとは、次のコマンドで実際に効いている設定を確かめられます。

claude auto-mode config

オートモードのautoModeの設定は、プロジェクトの.claude/settings.jsonや.claude/settings.local.jsonからは読まれません。公式ドキュメントは、リポジトリーに入れたファイルやビルドの手順が勝手に許可のルールを足せないようにするためと説明しています。

/auto-mode-setupを使わないようにする

オートモードがいくつかの操作を止め、まだautoMode.environmentの設定がない場合、Claude Codeはターンの終わりに「Teach auto mode about your environment?」というダイアログを出し、/auto-mode-setupの実行を勧めます。この案内だけを止めたいときは、ダイアログで「Don’t show again」を選びます。コマンドと案内の両方を止めるには、~/.claude/settings.jsonに次の設定を加えます。

{
  "skillOverrides": {
    "auto-mode-setup": "off"
  }
}

そのほかの主な変更

/claude-api managed-agents-secure

/claude-api managed-agents-secureが追加されました。Managed Agentsのエージェントの設定を、Anthropicが公開しているセキュリティガイドと比べます。比べるだけで、設定は変えません。

マウントしたドライブを消すときの確認

/Volumes、/media、WSLの/mnt/cなど、マウントしたドライブやその一番上のフォルダーをrm -rで消そうとしたときに、安全確認が出ていませんでした。rm -rf /Applicationsと同じ確認が出るように直っています。

ProとMaxで、古い会話を再開するときの警告

ProプランとMaxプランで、しばらく使っていない会話を再開すると5時間の利用上限のうち、目に留まるほどの割合を使う場合に、警告が出るようになりました。そのまま再開するか、新しい会話を始めるかを選べます。新しい会話で前の会話に触れると、Claudeがその会話を探して参照できます。

CLAUDE_CODE_AUTO_COMPACT_WINDOWの単位

環境変数CLAUDE_CODE_AUTO_COMPACT_WINDOWに200kと書くと、何も知らせずに10万トークンの枠になっていました。今後は--autocompactと同じようにkとMの単位を受け付け、範囲外の値や無視された値には警告を出します。

CLAUDE_CODE_AUTO_COMPACT_WINDOW=200k

Linuxのサンドボックス

Linuxで、sandbox.filesystem.denyReadのglobに文字クラスではない角かっこ(たとえば[user-id]のようなルーティング用のフォルダー名)が入っていると、サンドボックス内のコマンドが起動しない不具合が直りました。

カスタムのANTHROPIC_BASE_URLでのツール検索

カスタムのANTHROPIC_BASE_URLを使うとき、ツール検索(tool search)が初期でオンになりました。ゲートウェイが400か422を返したときは、ツール検索を使わずに送り直します。

Code Review

Code Reviewにレビューの深さ(Quick、Standard、Deep)が加わりました。初期値はStandardです。オーナーが組織全体の深さを決め、リポジトリーごとに別の深さも設定できます。GitHubの組織のすべてのリポジトリーを、あとから追加されたものも含めて、1つずつ選ばずにレビューの対象にする設定も加わりました。

2.1.305で直った、2.1.304の不具合

2.1.305の変更履歴には、2.1.304で入った不具合(regression)の修正が載っています。Vertex、Bedrockなどのプロバイダーで、エンドポイントやゲートウェイがツール検索を受け付けないとき、すべてのリクエストが失敗していました。ゲートウェイ経由で、ToolSearchが禁止されているときや、--toolsにToolSearchを入れていないときも同じです。2.1.305では、ツール検索を使わずに送り直すようになっています。

Vertex、Bedrock、LLMゲートウェイ経由でClaude Codeを使っている人は、2.1.304のままにせず、2.1.305以降に更新してください。

2.1.305にするには

確認した時点(2026年10月21日7時21分、日本時間)では、2.1.305はnpmとネイティブ版のlatestチャンネルにだけ出ていました。stableチャンネルは2.1.304で、Homebrewはclaude-codeもclaude-code@latestも2.1.304でした。このため、その時点ではHomebrewで更新しても2.1.304のままでした。

更新したあとは、次のコマンドで2.1.305以降になっているかを確かめます。

claude --version

ネイティブインストールは、初期設定ではlatestチャンネルを使います。stableチャンネルに切り替えている場合は、/configの「Auto-update channel」(日本語版ドキュメントでは「自動更新チャネル」)をlatestに戻すか、settings.jsonに次の設定を書きます。

{
  "autoUpdatesChannel": "latest"
}

そのあと、次のコマンドを実行します。

claude update

npmで入れた場合は、次のコマンドでlatestの版に更新します。公式ドキュメントは、npm update -gでは最新版にならないことがあるとしています。

npm install -g @anthropic-ai/claude-code@latest

HomebrewとWinGetは、2.1.305が届いてから更新のコマンドを実行し、claude --versionで確かめます。apt、dnf、apkのリポジトリで入れた場合は、どのチャンネルを使うかをリポジトリで選びます。切り替え方は、公式ドキュメントAdvanced setupの「Install with Linux package managers」にあります。

関連する記事

参考にした公式情報

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

社内エンジニアとして、SREとセキュリティの仕事をしています。サーバーの構築や運用、クラウド環境の設計にも関わってきました。趣味はゲームと漫画・アニメ。

コメント

コメントする

目次