バックナンバー · BACK ISSUE
v2.1.178
権限ルールの Tool(param:value) 構文や、ネストした .claude/ ディレクトリでのスキル・エージェント・ワークフローの解決を追加し、Auto モードとサブエージェント周りを強化、クラッシュ・認証・コンパクション・バックグラウンドセッション・vim モードなどの多数の問題を修正しました。
権限ルールで、ツールの入力パラメータにマッチする
Tool(param:value)構文(*ワイルドカード対応)を追加しました。たとえばAgent(model:opus)で Opus を使うサブエージェントをブロックできます。詳しく
権限ルールは、どのツール操作を許可・拒否するかを指定する仕組みです。これまではツール名やコマンドの単位でしか指定できませんでしたが、Tool(param:value)という新しい書き方で、ツールに渡される入力パラメータの値まで条件にできるようになりました。*ワイルドカードも使え、たとえばAgent(model:opus)と書けば Opus モデルを使うサブエージェントだけをブロックできます。
ネストした
.claude/skillsディレクトリ内のスキルが、そこのファイルを扱っているときに読み込まれるようになりました。名前が衝突した場合、ネストしたスキルは<dir>:<name>として表示され、両方とも使えます。詳しく
スキルは.claude/skillsに置いて使う機能です。これまではトップレベルのスキルしか読み込まれませんでしたが、サブディレクトリにある.claude/skillsのスキルも、そのディレクトリ内のファイルを扱っているときに読み込まれるようになりました。同じ名前のスキルがある場合、ネストした側は<dir>:<name>という形で表示されるため、衝突しても両方を使い分けられます。ネストした
.claude/ディレクトリでは、名前が衝突した場合、作業ディレクトリに最も近いエージェント・ワークフロー・出力スタイルが優先されるようになりました。プロジェクトスコープのワークフロー保存先も、最も近い既存の.claude/workflows/を対象にします。詳しく
プロジェクト内に複数の.claude/ディレクトリ(サブディレクトリごとの設定など)がある場合の解決ルールの改善です。エージェント・ワークフロー・出力スタイルの名前が複数の.claude/で重複しているとき、今後は作業中のディレクトリに最も近いものが優先されます。また、プロジェクトスコープでワークフローを保存すると、最も近い既存の.claude/workflows/に書き込まれるようになります。Auto モードを改善しました。サブエージェントの起動が起動前に分類器で評価されるようになり、サブエージェントがレビューを経ずにブロック対象の操作を要求できる抜け穴を塞ぎました。
詳しく
Auto モードは、各操作を分類器で評価して許可するかどうかを判断する仕組みです。これまではサブエージェント(別のエージェントを呼び出す処理)が起動する前に評価されず、サブエージェント経由でブロックされるはずの操作がレビューを通さずに実行できてしまう隙がありました。今回の改善で、サブエージェントの起動も事前に分類器で評価されるようになり、この抜け穴が塞がれます。/doctorを改善し、全セクションで一貫したフラットなツリー表示、より分かりやすいセクションの状態アイコン、強調表示されたコマンド名を採用しました。詳しく
/doctorは、環境や設定の状態を診断して表示するコマンドです。今回の改善で、すべてのセクションが同じフラットなツリー形式で表示され、各セクションの状態を示すアイコンが分かりやすくなり、コマンド名が強調表示されるようになりました。診断結果が一目で読み取りやすくなります。スキル一覧の省略警告を改善し、いくつのスキル説明が影響を受けているかを表示するようにしました。
詳しく
スキルの一覧表示では、説明が長すぎる場合に途中で省略され、その旨の警告が出ます。これまではどれだけ省略されたか分かりませんでしたが、今回の改善で、いくつのスキル説明が省略の影響を受けているかが警告に表示されるようになり、状況を把握しやすくなりました。ワークフローのプロンプトキーワードを変更し、紫色のシマー(きらめき)強調を使うようにするとともに、「run a workflow」や「workflow:」のような明示的な表現でのみ反応し、単に単語が出てきただけでは反応しないようにしました。
詳しく
プロンプト内でワークフローを呼び出すキーワードの挙動が変わりました。これまでは「workflow」という単語に言及しただけで反応してしまうことがありましたが、今後は「run a workflow」や「workflow:」のような明示的な表現のときだけ反応します。また、該当部分が紫色のシマー(きらめく強調)で表示され、いつワークフローが起動するかが分かりやすくなりました。Remote Control のエラーメッセージを改善しました。接続失敗時にはフッターに赤い「/rc failed」インジケータが残り続けて表示され、「まだ有効化されていない」エラーは、ゲート・チェック失敗・古い権限・組織ポリシーのいずれが原因かを説明するようになりました。
詳しく
Remote Control は Web やモバイルからセッションに接続する機能で、接続に失敗したときの案内が改善されました。接続が失敗すると、フッターに赤い「/rc failed」というインジケータが残って表示され、失敗に気づきやすくなります。また「まだ有効化されていない」というエラーでは、原因がゲート・チェックの失敗・古い権限(entitlement)・組織のポリシーのどれなのかが説明されるようになりました。/bugは送信前に説明文を必須とするようになり、モデルの拒否文を GitHub issue のタイトルに使わなくなりました。詳しく
/bugは、不具合を GitHub の issue として報告するためのコマンドです。これまでは説明を書かずに送信できてしまい、また内容によってはモデルの拒否文(「お手伝いできません」のような文)がそのまま issue のタイトルに使われることがありました。今回の変更で、送信前に説明文の入力が必須になり、拒否文がタイトルに使われることもなくなります。
CLI が親プロセスから古い websocket/OAuth のファイルディスクリプタ環境変数を引き継いだ場合に、メモリ不足でクラッシュする問題を修正しました。
詳しく
CLI を別のプロセスから起動すると、そのプロセスの環境変数を引き継ぐことがあります。引き継いだ中に古い websocket/OAuth 用のファイルディスクリプタ(接続を指す番号)を示す環境変数が残っていると、メモリ不足(out-of-memory)でクラッシュすることがありました。今回の修正で、こうした古い値を引き継いでもクラッシュしなくなります。OAuth トークンが Claude Code のログインとは別アカウントのものである場合に、Claude in Chrome が何も知らせずに接続失敗する問題を修正しました。
詳しく
Claude in Chrome は、Chrome ブラウザと連携して動作する機能です。ブラウザ側の OAuth トークンが、Claude Code にログインしているアカウントとは別のアカウントのものだったとき、エラーも出さずに接続に失敗していました。今回の修正で、この状況が適切に扱われ、接続できないときも黙って失敗することがなくなります。ネストした
.claude/skillsのスキルでディレクトリ修飾名を持つものが、非対話実行で権限プロンプトによってブロックされる問題を修正しました。詳しく
ネストした.claude/skillsのスキルは、名前の衝突時に<dir>:<name>のようなディレクトリ修飾名で扱われます。これまでは、こうした修飾名のスキルが、対話せずに実行する非対話モードで権限プロンプト(許可の確認)に引っかかり、ブロックされてしまうことがありました。今回の修正で、非対話実行でもこれらのスキルが正しく使えるようになります。サブエージェントの複数の問題を修正しました。サブエージェントのトランスクリプトを表示するとツール結果とリアルタイムの進捗が見えるようになり、ターン終了中に送ったメッセージが破棄されなくなり、実行中のサブエージェントをバックグラウンドにする(ctrl+b)と最初からやり直しになる問題も解消しました。
詳しく
サブエージェント(別エージェントへ委譲する処理)まわりのまとめての修正です。これまではサブエージェントのトランスクリプト(会話記録)を開いてもツールの実行結果や進行中の様子が見えませんでしたが、表示されるようになりました。また、サブエージェントがターンを終えようとしている間に送ったメッセージが捨てられていた問題や、実行中のサブエージェントをctrl+bでバックグラウンドにすると最初からやり直しになる問題も修正されています。ANTHROPIC_BASE_URLとANTHROPIC_AUTH_TOKENでカスタム API ゲートウェイを指定したシェルからデーモンを起動した場合に、claude agentsのワーカーが401 Invalid bearer tokenで失敗する問題を修正しました。詳しく
claude agentsは、バックグラウンドのデーモンが管理するワーカーでエージェントを動かします。ANTHROPIC_BASE_URLとANTHROPIC_AUTH_TOKENを使って独自の API ゲートウェイを指定したシェルからデーモンを起動すると、ワーカーが401 Invalid bearer token(認証トークンが無効)というエラーで失敗していました。今回の修正で、こうしたカスタムゲートウェイ環境でもワーカーが正しく認証されて動くようになります。コンパクションが
--fallback-modelを尊重しない問題を修正しました。コンパクションは、過負荷やモデル利用不可のエラー時に、設定されたフォールバックモデルの連鎖にフォールバックするようになりました。詳しく
コンパクションは、会話が長くなったときに内容を要約して圧縮する処理です。これまでは、コンパクションの実行に使うモデルが過負荷や利用不可になっても、--fallback-modelで指定した代替モデルに切り替わりませんでした。今回の修正で、コンパクションもこれらのエラー時に設定済みのフォールバックモデルの連鎖を順にたどるようになり、処理が止まりにくくなります。セッションの外で認証情報が更新された後も、古いリクエスト設定がキャッシュされているために、モデルへのリクエストが認証エラーで失敗し続ける問題を修正しました。
詳しく
別の場所(セッションの外)で認証情報を更新したとき、セッション内に古いリクエスト設定がキャッシュされたままになり、モデルへのリクエストが認証エラーで失敗し続けることがありました。今回の修正で、更新された認証情報が反映され、リクエストが正常に通るようになります。ターン終了後に
/bgまたは←←で作成したバックグラウンドセッションが、エージェント一覧でいつまでも「Working」と表示される問題を修正しました。詳しく
/bgや←←を使うと、セッションをバックグラウンドに移せます。ターン(やり取り)が終わった後にこの操作で作成したバックグラウンドセッションが、エージェント一覧で「Working(作業中)」のまま固まって表示されることがありました。今回の修正で、実際の状態に合わせて正しく表示されるようになります。CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1が、新規のマーケットプレイスのインストール時にクローンを妨げる問題を修正しました。詳しく
CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1は、失敗時にプラグインのマーケットプレイスを保持するための環境変数です。これが設定されていると、まだ存在しないマーケットプレイスを新規にインストールする際のクローン(取得)まで妨げられてしまっていました。今回の修正で、この設定があっても新規インストールのクローンが正しく行われるようになります。サブエージェントの
disallowedToolsに書いた MCP サーバーレベルの指定(mcp__server・mcp__server__*・mcp__*)が、黙って無視される問題を修正しました。詳しく
サブエージェントの設定disallowedToolsには、使わせたくないツールを指定できます。ここに MCP サーバー単位の指定(mcp__serverやmcp__*など)を書いても、これまでは黙って無視され、ツールが禁止されていませんでした。今回の修正で、これらのサーバーレベルの指定が正しく効き、対象の MCP ツールがサブエージェントで禁止されるようになります。vim モードのアンドゥを修正しました。
uが、立て続けのコマンドを 1 つのアンドゥ単位にまとめてしまうのではなく、NORMAL/VISUAL モードのコマンドを 1 つずつ取り消すようになりました。詳しく
vim モードでの取り消し(アンドゥ)の挙動の修正です。これまでは短時間に続けて行ったコマンドが 1 回のアンドゥでまとめて取り消されてしまうことがありました。今回の修正で、uを押すと NORMAL/VISUAL モードのコマンドを 1 つずつ順に取り消せるようになり、本来の vim に近い挙動になります。claude agentsで、カスタム URI スキーム(例:vscode://)を持つステータスラインのリンクをクリックしても開かない問題を修正しました。詳しく
ステータスラインには、クリックで開けるリンクを表示できます。vscode://のようなカスタム URI スキーム(独自の形式のリンク)をclaude agentsの画面でクリックしても開けない問題がありました。今回の修正で、これらのリンクをクリックすると対応するアプリが正しく開くようになります。[VSCode] CJK の IME 候補ウィンドウを閉じるために Esc を押すと、実行中の Claude のタスクがキャンセルされてしまう問題を修正しました。
詳しく
VSCode 拡張での日本語・中国語・韓国語(CJK)入力に関する修正です。IME の変換候補ウィンドウを閉じるために Esc を押すと、その Esc が実行中の Claude タスクへの中断操作として伝わり、タスクがキャンセルされてしまっていました。今回の修正で、候補ウィンドウを閉じる Esc がタスクのキャンセルを引き起こさなくなります。
原文 Markdown を表示
## 2.1.178
- Added `Tool(param:value)` syntax for permission rules to match a tool's input parameters (with `*` wildcard), e.g. `Agent(model:opus)` to block Opus subagents
- Skills in nested `.claude/skills` directories now load when working on files there; on a name clash, the nested skill appears as `<dir>:<name>` so both stay available
- Nested `.claude/` directories: the agent, workflow, and output-style closest to the working directory now wins when names collide; project-scope workflow saves now target the closest existing `.claude/workflows/`
- Improved auto mode: subagent spawns are now evaluated by the classifier before launch, closing a gap where a subagent could request a blocked action without review
- Improved `/doctor` with consistent flat tree layout across all sections, clearer section status icons, and highlighted command names
- Improved the skill listing truncation warning to show how many skill descriptions are affected
- Changed the workflow prompt keyword to use a purple shimmer highlight and trigger only on explicit phrases like "run a workflow" or "workflow:", not on any mention of the word
- Improved Remote Control error messages: connection failures now show a persistent red "/rc failed" indicator in the footer, and the "not yet enabled" error now explains whether it's a gate, a check failure, stale entitlement, or org policy
- `/bug` now requires a description before submitting, and no longer uses model-refusal text as the GitHub issue title
- Fixed a crash (out-of-memory) when the CLI inherits a stale websocket/OAuth file-descriptor environment variable from a parent process
- Fixed Claude in Chrome silently failing to connect when the OAuth token belongs to a different account than the Claude Code login
- Fixed nested `.claude/skills` skills with directory-qualified names being blocked by permission prompts in non-interactive runs
- Fixed several subagent issues: viewing a subagent's transcript now shows tool results and live progress, messages sent while it finishes its turn are no longer dropped, and backgrounding a running subagent (ctrl+b) no longer restarts it from scratch
- Fixed `claude agents` workers failing with `401 Invalid bearer token` when the daemon was started from a shell with a custom API gateway via `ANTHROPIC_BASE_URL` and `ANTHROPIC_AUTH_TOKEN`
- Fixed compaction not honoring `--fallback-model`: compaction now falls back to the configured fallback model chain on overload or model-availability errors
- Fixed model requests continuing to fail with auth errors after credentials were refreshed outside the session, due to a stale cached request configuration
- Fixed background sessions created with `/bg` or `←←` after a turn finished showing "Working" forever in the agents list
- Fixed `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` preventing fresh marketplace installs from cloning
- Fixed MCP server-level specs (`mcp__server`, `mcp__server__*`, `mcp__*`) in subagent `disallowedTools` being silently ignored
- Fixed vim mode undo: `u` now steps through NORMAL/VISUAL-mode commands one at a time instead of merging commands in quick succession into a single undo step
- Fixed statusline links with custom URI schemes (e.g. `vscode://`) not opening when clicked in `claude agents`
- [VSCode] Fixed pressing Esc to dismiss a CJK IME candidate window canceling the running Claude task