2児のパパ系Webエンジニア
の開発日記
A Dad-of-Two Engineer's Development Diary

Claude Codeのauto modeで止まる人へ!/auto-mode-setupで自分の環境を教える設定と確認コマンド

Claude Codeのauto modeで止まる人へ!/auto-mode-setupで自分の環境を教える設定と確認コマンド

🙌 結論から

Claude Codeのauto modeで同じような確認が何度も出るなら、/auto-mode-setup で「自分の環境」を一度教えるのが一番の近道です!

auto modeは、Claudeのツール実行を分類器(classifier)が見て、危なそうなものだけ止めてくれるモードです。

ただ、初期状態で信頼しているのはいま作業しているフォルダと、そのリポジトリのリモートだけなんですよね👀

なので、会社のGitHubの別リポジトリや社内のAPIドメインを触ると「外に出ようとしている」と判断されて止まりがちです(・_・;)

/auto-mode-setup は、プロジェクトの設定や最近のセッションを読んで、~/.claude/settings.json に書く autoMode.environment の下書きを作ってくれます💡

10月19日のv2.1.304では、テレメトリをオフにしている環境やBedrock・Vertexなどでも使えるようになりました✨

Anthropicは10月22日の更新で、auto modeを「来週から多くのClaudeアプリで新しいセッションの既定にする」とも書いています!

止まる回数が気になっている人は、今のうちに一度やっておくとかなり楽・・!

👀 auto modeが止まるのは「知らない場所」だから

auto modeの分類器は、取り消せない操作・壊す操作・環境の外に向かう操作を止めます。

公式ドキュメントに載っている既定のブロック例は、たとえばこんな感じです。

  • curl | bash のような、ダウンロードしたコードの実行
  • 機密データを外部のエンドポイントに送ること
  • 本番へのデプロイやマイグレーション
  • force push や git reset --hard
  • 人が承認していないPRのマージ

このうち「外部」かどうかは、autoMode.environment に書かれた信頼済みの場所で決まります。

書かれていない宛先は、ぜんぶ情報漏れの候補として扱われるというのがポイントです!

もうひとつ知っておきたいのが、3回連続、またはセッション全体で20回ブロックされると、auto modeが一時停止して普通の確認に戻ることです。

この回数は設定で変えられません(・_・;)

「auto modeにしたはずなのに、途中から毎回聞かれるようになった・・・」というときは、だいたいこれです(´・ω・`)

止まった操作は /permissions の「Recently denied」タブで見られて、r を押すとその操作の再試行を許可できます👍

💡 /auto-mode-setupは下書きを作ってくれるだけ

/auto-mode-setup を打つと、最初に「このプロジェクトをどう使っているか」を聞かれます。

そのあと、次のものを読んで下書きを作ります。

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

さらに任意で、シェル履歴のコマンドの先頭の単語と、ホームディレクトリ以下のリポジトリのリモート先もスキャンできます。

ここは聞かれてから選べるので、会社のPCで気になる人は断っても大丈夫です🙏

下書きはまるごと採用か破棄かの二択です!

1行だけ直したいときは、採用したあとに ~/.claude/settings.json を手で直します。

採用すると、Bash(*) のようにauto modeでは無視される許可ルールを消すか、ついでに聞いてくれます😊

プランの条件もあって、Pro・Max・Teamはv2.1.228以降(ネイティブWindowsはv2.1.233以降)、EnterpriseとConsoleのAPIキーはv2.1.283以降です。

ちなみにクラウドのセッションでは「この環境では使えません」と出るので、ローカルのターミナルで実行する必要があります(´・ω・`)

🔧 私の設定はこれ

私は会社のリポジトリをいくつも行き来するので、environment にはまずソース管理の場所と社内サービスだけを書きました。

公式ドキュメントでも、まずソース管理と主要な社内サービスを書いて、残りはブロックされたときに足していく進め方が紹介されています。

{
  "autoMode": {
    "environment": [
      "$defaults",
      "Source control: github.com/my-company and all repos under it",
      "Trusted internal domains: *.dev.my-company.example",
      "Key internal services: staging API at api.stg.my-company.example"
    ]
  },
  "permissions": {
    "ask": [
      "Bash(git push *)",
      "Bash(gh pr create *)"
    ]
  }
}

(会社名やドメインは例なので、自分の環境に置き換えてください)

書き方は正規表現ではなく、新しく入ったエンジニアに説明するような普通の文章でOKです!

"$defaults" を入れておくと、組み込みの項目をそのまま残したまま、自分の行を足せます。

もうひとつ入れているのが permissions.ask の2行です。

auto modeは、作業中のリポジトリへのpushとPR作成を既定で通します。

でも私は、pushとPR作成だけは自分の目で見てからにしたい派なんですよね・・!

permissions.ask は分類器より先に評価されるので、auto modeのままでもこの2つだけ毎回聞いてくれます🙌

ただし git -C <dir> push のように書き方が違うコマンドはこのルールに当たらないので、そこまで止めたい人はPreToolUseのフックを使う必要があります🤔

設定したら、ターミナルでこの3つを使っています。

claude auto-mode config     # 自分の設定を反映した、実際に使われるルールを表示
claude auto-mode critique   # 自分で書いたルールのあいまいな所をAIに指摘してもらう
claude auto-mode defaults   # 組み込みのルールだけを表示

config で自分の行が入っているか見て、critique で書き方を直す、の流れがかなりラクです(^^)

🤔 ハマりやすいところ

一番つまずきやすいのは、プロジェクトの .claude/settings.json に autoMode を書いても読まれないことです。

リポジトリに入っているファイルだと、誰かがコミットした設定で勝手に許可を広げられてしまうので、わざと読まないようになっています!

.claude/settings.local.json も同じく読まれないので、書いてしまった人は ~/.claude/settings.json へ移す必要があります。

次に気をつけたいのが、"$defaults" を入れずに配列を書くと、その項目の組み込みルールがまるごと消えることです。

たとえば soft_deny を $defaults なしで書くと、force push や curl | bash を止める既定のルールまで外れます(T_T)

全部自分で管理するつもりがないなら、$defaults は必ず残しておくのがいいですね👍

元に戻したくなったら claude auto-mode reset で、~/.claude/settings.json の autoMode だけを消せます。

確認を挟んでから消してくれるので、気軽に試せるのもありがたいです😊

🔗 関連記事と使い分け

auto modeの許可とあわせて、ほかの仕組みもこう使い分けています。

  • Claude Codeのhooksの基本:「git push を含むコマンドは全部止める」のように、コマンドの文字列で確実に止めたいときはフック。auto modeの分類器は判断なので、絶対に通したくない操作はフックや permissions.deny で
  • Planモードの使い方:大きい改修はPlanで計画を見てから、実行はauto modeに任せる流れにしています
  • 「You should know」のMod:確認が減るぶん、長いタスクで見落としがないかを横から教えてもらう用です

パパ系Webエンジニア〜愛用ガジェット一覧 🛍️

AI開発・執筆に使っている作業デスク環境を楽天ROOMにまとめています ✨ デスク周りの参考にどうぞ 🙌

🙌 まとめ

auto modeでよく止まるなら、/auto-mode-setup で環境を教えて、claude auto-mode config で中身を確かめる。これだけで確認の回数はかなり変わります!

正直、最初は「勝手に動かれるのはちょっと怖いな・・・」と思っていました( .. )

でも、止めてほしい所は permissions.ask で自分で決められるので、今は安心して任せられています(。•̀ᴗ-)✧

来週からはClaudeアプリの多くでauto modeが既定になる予定なので、止まる回数が気になる人は一度試してみてください🙌

みんなはauto mode、もう使ってる?

※ バージョン番号・提供範囲は今後も変わる可能性があります。最新情報は Claude Codeの公式ドキュメント をご確認ください👀

参考になったらシェアしてもらえるとうれしいです🙌

Xでポスト Threads はてブ LINE
本日のAI速報 10月24日(土)・9件