「危ないコマンドだけ」をやめる──Claude Code v2.1.193が自動モードに付けた“全コマンド検問”と、却下理由の可視化
Claude Code v2.1.193/195が自動モードに追加した「全シェルコマンドを安全分類器に通す」設定と却下理由のログ化、CLIからのMCP認証、フック誤爆の修正までを、無人運用の視点で整理します。
無人で走らせるコーディングエージェントを安全に保つ要は、「どのコマンドを自動で許し、どこで止めるか」の線引きです。Claude Codeはこの夏、その線引きを一段細かく引き直しました。6月25日公開のv2.1.193と、翌26日のv2.1.195です。派手な新機能ではありませんが、自動モード(auto-mode)でエージェントを回す現場には効く、地味で実利的な調整がそろっています。
auto-modeは、人がいちいち許可を押さなくても安全と判断したコマンドをエージェントが自分で実行できるモードです。便利な反面、「何をどこまで自動で通すか」の設計が甘いと事故につながります。今回の更新は、その自動実行により厳しい検問と記録を足した、と整理できます。
これまでは「危険なパターンだけ」を見ていた
v2.1.193の目玉は、設定項目 autoMode.classifyAllShell の追加です。何が変わるのかは、これまでの挙動と並べると分かりやすくなります。
- 従来(既定): auto-modeの安全分類器が見るのは、シェルから任意コードを実行しうる「危険なパターン」に該当するコマンドだけ。それ以外は分類を通さずに流れていた。
- 新設定(
classifyAllShell: true): Bash/PowerShellで実行するすべてのコマンドを分類器に通す。危険パターンに引っかからないコマンドも、いったん検問所を通過させる。
言い換えれば、これまでは「明らかに危ないものだけ」を見張っていたのを、「全部いったん見る」に切り替えるスイッチです。既定値はオフ(false)で、必要な現場だけが有効化する設計になっています。当然ながらコマンドのたびに分類器を呼ぶため、その分の処理は増えます。厳しさと引き換えに、分類器の呼び出し回数(=待ち時間とコスト)が増えるというトレードオフを、設定で選べるようにした、というのが正確な理解です。
「なぜ止めたのか」が後から読める
もう一つ、無人運用で効くのが却下理由の可視化です。v2.1.193から、auto-modeがコマンドを却下したときの理由が次の場所に残るようになりました。
- 会話のトランスクリプト(実行ログ)
- 却下時のトースト通知
/permissionsの「最近の却下」一覧
人が張り付いていない自動実行では、「なぜか作業が進まない」原因がブラックボックスになりがちです。止まった理由がログに落ちていれば、後追いで設定を直せます。地味ですが、エージェントを“放置して回す”ほど価値が出る改善です。同じ版では、MCPの認証ヘルパー(headersHelper)がトークン失効(401/403)を受けたときに自動で再認証・再接続するようになり、長時間セッションが認証切れで止まりにくくなりました。
ブラウザを開かずに、MCPサーバへログインする
v2.1.193では、MCPサーバの認証をコマンドラインから完結させる claude mcp login <名前> / claude mcp logout <名前> も加わりました。これまでは対話メニュー /mcp を開いて認証する流れでしたが、CLIから直接ログイン・ログアウトできます。--no-browser を付ければブラウザを起動しない認証も可能で、SSH越しのサーバなど画面のない環境を想定した造りです。
Claude Codeはここ数週間、SSH越しのMCP認証や全社一括の認証許可など「鍵の渡し方」を繰り返し整えてきました。今回のCLIログインは、その流れを個々の開発者の手元作業にまで降ろした追加と言えます。
自動化の「誤爆」を一つ塞ぐ
翌日のv2.1.195は不具合修正が中心ですが、フックやプラグインで自動化を組む人には見逃せない一つが含まれます。フック(hook)のマッチャーがハイフン入りの識別子を取り違える問題の修正です。
これまでは code-reviewer や mcp__brave-search のような名前が部分一致で拾われ、意図しないフックが発火することがありました。v2.1.195からは完全一致になり、名前の一部がたまたま被っただけで別のフックが動く、という誤作動が起きにくくなります。自動化を細かく組むほど、この種の「静かな誤爆」は厄介です。気づかぬうちに余計な処理が走る芽を一つ摘んだ、と捉えてよいでしょう。
日本語ユーザー向けの修正も入りました。スペースで単語を区切らない言語(日本語・中国語・タイ語)で、音声入力(dictation)の自動送信が正しく働くようになっています。細かい点ですが、日本語で音声入力を使う人には体感差が出ます。
どの現場で“全コマンド検問”を入れるか
今回の更新で実運用の判断材料になるのは、やはり classifyAllShell です。目安はこう整理できます。
| 状況 | おすすめの構え |
|---|---|
| cronなどで完全無人にエージェントを回す | 有効化を検討。多少の遅延・コスト増より、すり抜けを減らす価値が大きい |
| 人が画面の前で対話しながら使う | 既定(オフ)のままで十分なことが多い。都度の確認が安全網になる |
| 本番環境やクレデンシャルに触れる作業 | 有効化+却下理由のログ監視をセットで |
一方で、過信は禁物です。全コマンドを分類器に通しても、分類器の判断が常に正しいわけではありません。厳しくすればコマンドごとに待ち時間とAPIコストが積み上がり、無人運用ほどその総量は無視できなくなります。「全部検問する」設定は安全側に倒すための一手であって、設計上の手抜きを許すものではない、という点は押さえておきたいところです。フックの部分一致バグが示すように、自動化は意図せず動くこともある。止める仕組み(検問)と、止めた理由を残す仕組み(ログ)を両輪で持って初めて、放置して回せる土台になります。今回の更新は、その両輪をそれぞれ一段ずつ締めた格好です。
参照: Claude Code Changelog(公式) / anthropics/claude-code Release v2.1.193 / Releasebot: Claude Code updates(June 2026)