Claude Code v2.1.246:/permissionsの自動モードルール、ワイルドカードBashルールの警告、プロジェクト設定を読み込む/cd
Claude Code v2.1.246では、/permissionsにAuto modeタブが追加され、ワイルドカードを含むBash許可ルールに警告が出るようになり、/cdの直後にプロジェクト設定が適用され、Anthropicへのテレメトリにゲートウェイ用のAPIキーが含まれなくなりました。
Claude Code v2.1.246は、変更履歴に61件の変更が記載された大規模なリリースです。/permissionsにAuto modeタブが追加され、サブコマンドの前にワイルドカードを置いたBash許可ルールに対する起動時の警告、ターン終了行への完了時刻の表示が加わり、/cdで移動先ディレクトリのプロジェクト設定がすぐに適用されるようになりました。また、Anthropicへのテレメトリリクエストにサードパーティのゲートウェイ用に設定したAPIキーが含まれなくなり、バックグラウンドセッション、プラグイン、フルスクリーン、MCPに関する多数の問題も修正されています。
新機能
ワイルドカードを含むBash許可ルールの警告
サブコマンドの前にワイルドカードを置いたBash許可ルール(Bash(git * main)など)に対して、起動時に警告が表示されるようになりました。こうしたルールは、サブコマンドの前に挿入されたオプションにも一致してしまうためです。
/permissionsのAuto modeタブ
/permissionsに新しいAuto modeタブが追加され、自動モードの分類器ルールを表示・編集できるようになりました。
ターン終了行に完了時刻を表示
ターン終了時の所要時間の行に、そのターンが完了した時刻が表示されるようになりました。例:✻ Sautéed for 23s · done 6:05 PM
/cdで移動先の設定を適用
/cdの後、移動先ディレクトリのプロジェクト設定、フック、.mcp.jsonのサーバー(通常の承認プロンプトを経由)、スキル、エージェントが、--resume時ではなく移動直後から有効になるようになりました。
maxTurnsで停止したサブエージェントの部分的な結果
maxTurnsの上限で停止したサブエージェントは、完了したように見えるのではなく、部分的な結果であることを示した出力を返し、SendMessageで続行できるというヒントを添えるようになりました。
非インタラクティブセッションで途切れた応答を継続
非インタラクティブセッション(-p、SDK、クラウドセッション)では、サーバーエラー、接続断、停止によってストリーミングの途中で途切れた応答を、エラーで終了するのではなく自動的に継続するようになりました。
より多くの環境で/code-review
Bedrock、Vertex AI、Foundry上、Claude apps gateway経由、さらにテレメトリや必須でない通信が無効な場合でも、Claudeが自ら/code-reviewを開始できるようになりました。
/goalの状況確認の回数制限
アイドル状態のセッションが長時間実行されるバックグラウンド処理に対して行う状況確認は、ゴールごとに最大3回までになりました。次にメッセージを送ると、さらに3回まで行えます。
修正と改善
- 認証情報と権限:Anthropicへのテレメトリやメトリクスのリクエストに、サードパーティのゲートウェイ(
ANTHROPIC_BASE_URL)用に設定したAPIキーが含まれる問題を修正しました。認証情報は、それぞれ対応するホストにのみ送信されます。末尾に&&や||演算子が残った不正な形式のコマンドについては、Bashの権限チェックで常に承認が必要になりました。 - MCPの権限:
requiresUserInteractionが指定されたMCPツールの権限プロンプトに「Yes, and don’t ask again」が表示されなくなりました。この選択肢は、ツール側で無視される許可ルールを書き込むだけでした。--strict-mcp-configのセッションが、読み込むことのない.mcp.jsonサーバーの承認を求め、バックグラウンドセッションが起動時に待機したままになる問題も修正されています。 - バックグラウンドセッション:Claude Codeの開始ディレクトリが削除されていた場合、マシンがスリープしていた場合、ホストでのプロセス起動が遅い場合に、バックグラウンドセッションが45秒後に開けなくなる問題を修正しました。別のClaude Codeプロセスがnpmパッケージを再インストールしている最中に「Couldn’t start the background service … EACCES」で開けなくなる問題も修正されています。古いバックグラウンドセッションの記録が
.claude/worktrees/配下のgit worktreeを指していた場合に、ユーザーが自分で作成したworktreeまでバックグラウンドの保持期間クリーンアップで削除される問題も修正されました。 - ワークフローと自動モード:動的ワークフローの実行中に←キーを押すか
/backgroundを実行すると、完了済みのサブエージェントが再起動される問題を修正しました。現在は事前に確認し、再起動されるサブエージェントの数を示します。非常に大きなセッションで、自動モードのツール呼び出しが「temporarily unavailable」として拒否される問題も、安全チェックの期限をプロンプトのサイズに応じて延ばすことで修正されました。 - フルスクリーンとトランスクリプト:フルスクリーンとCtrl+Oのトランスクリプト表示で、セッションの長さに応じてメモリが増え続ける問題を修正しました。非常に長い1行(base64文字列など)を含むdiffでトランスクリプトが極端に遅くなる問題も修正され、そうした行はマーカー付きで切り詰めて表示されます。
- Markdownのレンダリング:メッセージの先頭500文字にMarkdownが含まれていないと、メッセージ全体のMarkdownレンダリングが無効になる問題と、
+/N)形式のリストやsetext形式の見出しがレンダリングされない問題を修正しました。 - MCPツール:ヘッドレス/リモートセッションで、受信したメッセージによって中断されたMCPツール呼び出しが、「completed with no output」ではなく明示的な中断エラーとしてモデルに報告されるようになりました。
- プラグイン:
claude plugin updateが、完全修飾名だけでなく、インストール済みプラグインの短い名前でも動作するようになりました。~/.claude/plugins/known_marketplaces.jsonが空または破損している場合に、claude plugin install <name>が何も表示せずに終了する(またはターミナルでハングする)のではなく、エラーを報告するようになりました。 - サードパーティのエンドポイントと再開:サードパーティのAnthropic互換エンドポイント(
ANTHROPIC_BASE_URL)がidのないtool_useブロックをストリーミングした場合に、最初のツール呼び出しでUIがレンダリングエラーで停止する問題を修正しました。保存された履歴にAnthropic APIが受け付けないツールブロック(主にサードパーティのAPIプロキシが書き込んだもの)が含まれていると、再開したセッションが毎ターン400で失敗する問題も修正されています。 - プランモード:権限モードが設定されていない場合に、プランモードで終了したセッションが、VS Code拡張機能や、権限プロンプトツールを指定した
claude -p --continue/--resumeでプランモード以外の状態で再開される問題を修正しました。 - インストール:サーバー管理の設定を使用している一部のTeam/Enterpriseユーザーで、
curl -fsSL https://claude.ai/install.sh | bashが「Raw mode is not supported」で失敗する問題を修正しました。claude installとclaude updateは、保留中の管理設定への同意プロンプトをコマンドの途中で表示するのではなく、次のインタラクティブセッションに先送りするようになりました。 - Writeツール:非常に大きな既存ファイルを上書きした後に、Writeツールが「Out of memory」と報告したり長時間フリーズしたりする問題を修正しました。
- self-hosted runner:作業ポーリングのレスポンスが不正な形式(傍受するプロキシのHTMLページなど)だった場合に、self-hosted runnerが実行中のセッションを終了したり、自身が終了したりする問題を修正しました。現在はポーリングを再試行します。
このリリースには合計61件の変更が含まれています。すべての変更は、下記リンクの公式変更履歴をご覧ください。
アップデート方法
- インストール済みのバージョンを確認:
claude --version - その場でアップデート:
claude update - 新しい起動時の警告で、サブコマンドの前にワイルドカードを置いたBash許可ルール(
Bash(git * main)など)が指摘された場合は、そのルールを見直してください。サブコマンドの前に挿入されたオプションにも一致するためです。