Stack Overflowや古いブログで--enable-auto-modeを見つけて叩いてみたが「unknown option」エラーが出た人向け
古い記事のコマンドをコピペしたら「unknown option」エラーが返ってきた時に、それが廃止済みだと確認するために見るエントリ。書き換え先のclaude --permission-mode autoに直して動かし直す
--enable-auto-mode は、過去の Claude Code に存在した起動時の追加指定です。叩くとパーミッション確認を毎回出さない「auto mode」で起動できました。このスイッチは v2.1.111 で削除されています。今は素のまま叩くと unknown option と返ってきて落ちます。
もし古い Stack Overflow 回答や、半年以上前のブログ記事を見て叩いた結果ここに辿り着いたのなら、置き換え先は --permission-mode auto です。1行書き換えれば、ほぼ同じ挙動で動きます。
噛み砕くと
家電のリモコンで、昔あった「ターボボタン」がある日のモデルチェンジで本体に直接ついて、リモコンの方からは消えた、みたいな話です。機能そのものは存続しています。呼び出し方が変わっただけです。
Claude Code の場合、「ターボボタン」にあたる auto mode は Shift+Tab でモードを切り替えるサイクルに統合されました。Shift+Tab を何回か押すと default → acceptEdits → plan → auto と回ります。起動した瞬間から auto モードで入りたい場合だけ、起動時に --permission-mode auto と書き足します。
つまり「--enable-auto-mode という名前のスイッチ」がなくなっただけで、機能自体は残っています。
大事な前提:このスイッチは「v2.1.111で消えた」
Claude Code の公式コマンド一覧ページには、まだ --enable-auto-mode の行が残っています。読むとこう書いてあります。
Removed in v2.1.111. Auto mode is now in the
Shift+Tabcycle by default; use--permission-mode autoto start in it(出典: Claude Code 公式 CLI reference、Top-level flags 表)
つまり公式ページが「削除済み」とハッキリ書いていて、置き換え先まで提示しています。墓標として記録だけ残っているスイッチなので、新しく覚える必要はありません。古い記事を見たときの「これ今でも使えるの?」を3秒で潰すためにここに置いてあります。
補足として、公式の変更履歴では v2.1.132 のタイミングで「Auto mode no longer requires --enable-auto-mode」とも書かれています。要するに段階を踏んで削除されたようですが、私たちが知っておけば十分なのは「2026年現在、このスイッチを叩いてもエラーになる」という事実だけです。
「過去のスクリプトでこれを叩いていて、ある日CIが壊れた」を例に直し方を見る
仮にあなたが半年前、自動コードレビュー用のスクリプトに次の1行を仕込んでいたとします。
$ claude --enable-auto-mode "Refactor src/api/login.ts"
当時はこれで「login.ts を書き直して」とお願いしつつ、確認画面を出さずに進めてくれました。ところが Claude Code をアップデートした朝、CI のログにこう出て止まります。
error: unknown option '--enable-auto-mode'
ステップ1: スクリプト内の該当行を探す
まず、どこに --enable-auto-mode が書かれているかを洗い出します。プロジェクト全体を検索する1行はこんな感じです。
$ grep -rn "enable-auto-mode" .
CI用の自動化スクリプト、Makefile、GitHub ActionsのYAML、社内Wikiのメモなど、半年も使っているとあちこちに散っていることがあります。一気に全部見つけて、後でまとめて直します。
ステップ2: --permission-mode auto に書き換える
機械的な置換で済みます。先ほどの1行はこうなります。
$ claude --permission-mode auto -p "Refactor src/api/login.ts"
-pは1回きりの指示を投げて結果だけ受け取る、いわゆる非対話モードの呼び出し方です。CIで使う時はほぼ必ず添えます。ここで初心者がやりがちな勘違いがあります。--enable-auto-modeはそれ単体で「対話なしで自走する」雰囲気の名前だったので、-pを省いても動くと思ってしまうことがあります。Autoモードと「対話なしで一発実行」は別の話です。混ぜないようにします。
ステップ3: ローカルで1回試す
CIに流す前に、自分のパソコンで同じコマンドを1回叩いて、エラーが出ないか、出力がそれっぽいかを確認します。
$ claude --permission-mode auto -p "Refactor src/api/login.ts"
もしここで「Auto mode is not available for your account」のようなメッセージが返ってきたら、スイッチ名の問題ではなく、機能の利用条件側に引っかかっています。後ろの「落とし穴」セクションで扱います。
ステップ4: 古い記事を信用しすぎない癖をつける
Claude Code は2025年から2026年にかけて、起動時の指定や内部コマンドの整理を何度もやっています。/vim も /pr-comments も同じ流れで消えました。半年以上前のブログを見た時は、まず最新の公式ドキュメントで該当名を検索する、を癖にしておくと事故が減ります。
つまり --enable-auto-mode は何をしてくれるのか
- やってくれること: 何もしてくれない。叩くと
unknown optionエラーで終わる - かつてやってくれていたこと: 起動時に auto mode を有効化していた(v2.1.110まで)
- 今この名前で代替できる手段: 起動時なら
--permission-mode auto、起動後ならShift+Tabを何回か押す、ずっと auto で使いたいならsettings.jsonのdefaultModeをautoにする
使いどころ3シナリオ(このページに辿り着いた人の典型)
シナリオ1: 古いブログのコマンドをコピペしてエラーが出た
たとえば「Claude Codeで料理ブログのレシピ画像処理スクリプトを自動生成させる」みたいな2025年中頃の記事に claude --enable-auto-mode "..." が載っていて、そのまま貼ったら unknown option で止まる。このケースは --enable-auto-mode を --permission-mode auto に置き換えるだけで動きます。1分で終わります。
シナリオ2: 半年前に自分が書いたスクリプトを久しぶりに動かしたら壊れた
家計簿アプリのリリースノート生成スクリプトとか、副業案件用の見積もり下書きジェネレータとか、しばらく触っていなかった自前ツールをアップデート後に動かすと急に死ぬパターン。grep -rn "enable-auto-mode" でプロジェクト全体を洗って、まとめて --permission-mode auto に置換します。GitHub Actions の YAML に書いてあるパターンも忘れずに探します。
シナリオ3: 同僚のスクリプトを引き継いで動かない
OSSをcloneしてきた直後とか、退職した同僚の自動化スクリプトを引き継いだ直後に踏みやすい罠。コードレビューついでに --enable-auto-mode を --permission-mode auto に直して、ついでに README の「実行方法」の項にも一言メモを残しておくと、次に触る人が同じところで詰まらずに済みます。
初心者が踏みやすい落とし穴
- 「名前だけ書き換えれば動く」と思い込む。
--permission-mode autoに直しても、auto mode 自体に利用条件があります。Proプランは使えません。Max・Team・Enterprise・APIプランのみです。BedrockやVertex AI、Foundry経由でも使えません。「スイッチが廃止された」と「機能が使えない」は別問題なので、エラー文をよく読みます - auto modeを「全部にYesと答えるモード」と勘違いする。古い記事だと
--enable-auto-modeが「無条件で実行される」と書かれていることがありますが、実際は別のClaudeモデルが裏で1件ずつ「これは外部に情報送ってないか」「インフラに触ってないか」を見て、危ない動きだけブロックします。完全な無防備とは違います - auto modeと
bypassPermissionsモードを混同する。本当に全チェックをスキップして動くのはbypassPermissionsの方です。隔離されたDockerコンテナや使い捨ての仮想マシンの中だけで使うべきモードで、普段使いには向きません。auto modeはこちらより1段安全寄りです - 対象モデルの制約を見落とす。auto modeはSonnet 4.6・Opus 4.6・Opus 4.7でしか動きません。MaxプランだとOpus 4.7のみ。Haiku系や旧claude-3系でauto modeを使おうとしても弾かれます
- 古いスクリプトを修正したのにREADMEを更新し忘れる。自分が見つけて直しても、次に同じプロジェクトを触る同僚が古いREADMEを見て
--enable-auto-modeをまた書き戻す事故が起きます。修正した時点でREADMEとコメントも一緒に直しておきます - 「公式ページに
--enable-auto-modeの行があるからまだ使える」と思う。公式のCLI referenceは墓標として行を残しているだけです。横にRemoved in v2.1.111と書いてあるかを必ず確認します。表の右側のサンプルコマンドが--permission-mode autoになっていれば、それが現役の書き方です
書き方
claude --enable-auto-mode # v2.1.111で削除済み、現在は使えない
# 後継はこちら:
claude --permission-mode auto
やってみるとこうなる
入力
claude --enable-auto-mode "Refactor src/api/login.ts"
出力例
error: unknown option '--enable-auto-mode'
このページに出てきた言葉
- auto mode
- Claudeが確認画面を出さずに作業を進めるモード。別のClaudeモデル(classifier)が裏で危険な操作だけ止める
- unknown option
- コマンドの後ろに書き足した指定を、ツール側が「そんな名前知らない」と拒否したときに返すエラー
- Shift+Tabサイクル
- Claude Codeの作業中にShift+Tabを押すと、パーミッションモードがdefault→acceptEdits→plan→autoの順で切り替わる仕組み
- --permission-mode auto
- --enable-auto-modeの後継。起動時からauto modeで入りたい場合に書き足す
- classifier
- auto modeで動作中、Claudeが何かを実行する直前に「これは危険か」を判定する別モデルのこと
- bypassPermissions
- auto modeとは別の、すべてのチェックを完全にスキップするモード。隔離された環境専用
- 墓標エントリ
- 公式から削除済みだが、古い記事を見て叩いた人の導線として辞書に残しているエントリの呼び方。/vim や /pr-comments も同じ扱い