Claude Code で auto mode を起動時のデフォルトにしたら、対応モデルと非対応モデルで挙動が分かれた

Claude Code で auto mode を起動時のデフォルトにしたら、対応モデルと非対応モデルで挙動が分かれた

Claude Code on Bedrock の auto mode をデフォルトに設定したときの挙動を、対応モデルと非対応モデルで比較しました。
2026.09.14

コーヒーが好きな emi です。

Amazon Bedrock 経由の Claude Code で auto mode が使えるかどうかを、前回モデルごとに確認しました。Bedrock では Sonnet 5 / Opus 4.7 以降 / Fable が対応モデルで、Sonnet 4.6 では auto mode が出ない、という結果でした。

https://dev.classmethod.jp/articles/claude-code-auto-mode-bedrock/

今回は起動時のパーミッションモードを auto mode にした場合、auto mode に対応しているモデルと対応していないモデルでどう変わるか挙動を確かめました。

先に結論

  • 起動時のパーミッションモードは ~/.claude/settings.jsonpermissions.defaultModeauto に設定できる
    • ユーザー設定(~/.claude/settings.json)に書く必要があり、プロジェクト側(.claude/settings.json.claude/settings.local.json)の設定では反映されない
  • auto mode 対応モデル(今回は jp. の Opus 4.8)で起動すると起動直後から auto mode on になる
  • auto mode 非対応モデル(今回は jp. の Sonnet 4.6)ではdefaultMode: "auto" を書いていても無視され、manual mode on で起動する
  • モデル指定は .bashrc の環境変数 ANTHROPIC_MODEL のほうが settings.jsonmodel より優先される

動作環境

  • Windows + WSL2(Ubuntu)
  • Claude Code v2.1.248
  • Amazon Bedrock 経由(aws-vault で一時クレデンシャルを注入して起動)

前回と同じく Bedrock 版の起動関数 claude-bedrock を使っています。この関数は aws-vault exec の中で CLAUDE_CODE_USE_BEDROCK=1 とリージョン、jp. プレフィックス付きのモデルを指定して claude を起動するものです。詳細は以下記事を参照ください。

https://dev.classmethod.jp/articles/claude-code-bedrock-jp-region/

defaultMode を auto にする

auto mode を起動時のモードにしたい場合は、ユーザー設定 ~/.claude/settings.jsonpermissions ブロックに defaultMode を入れます。

~/.claude/settings.json 変更前
"permissions": {
  "allow": [
    "Read(//tmp/**)"
  ]
}

↓ここに defaultMode を足します。

~/.claude/settings.json 変更後
"permissions": {
  "defaultMode": "auto",
  "allow": [
    "Read(//tmp/**)"
  ]
}

defaultMode: "auto" は、プロジェクト側の設定(.claude/settings.json.claude/settings.local.json)に書いても反映されません。ユーザー設定 ~/.claude/settings.json に書くか、起動ごとに --permission-mode を渡す必要があります。

あわせてどのモデルで起動するかも settings.jsonmodel で指定します。

私は最初 .bashrcclaude-bedrock 関数の中で ANTHROPIC_MODEL='jp.anthropic.claude-sonnet-4-6' という環境変数を渡していました。この環境変数は settings.jsonmodel より優先されるので、settings.json に何を書いても claude-bedrock 経由では常に Sonnet 4.6 になってしまいます。

今回はモデル指定を settings.json に寄せたいので、.bashrc の関数から ANTHROPIC_MODEL の行を消しました。軽量モデルの ANTHROPIC_SMALL_FAST_MODEL は残しています。

~/.bashrc の claude-bedrock 関数(ANTHROPIC_MODEL を削除後)
claude-bedrock() {
  aws-vault exec cm-kitani.emi -- env \
    CLAUDE_CODE_USE_BEDROCK=1 \
    AWS_REGION=ap-northeast-1 \
    ANTHROPIC_SMALL_FAST_MODEL='jp.anthropic.claude-haiku-4-5-20251001-v1:0' \
    claude "$@"
}

.bashrc を変更したので source ~/.bashrc コマンドを実行して反映させます。

実行結果▼

emiki@<hostname>:~/work/xx$ source ~/.bashrc
emiki@<hostname>:~/work/xx$ 

settings.json の変更は Claude Code の再起動だけで反映されます。

settings.jsonmodel は、エイリアスの "opus" を書くと jp. なしのグローバルなモデル(このときは Opus 5)に解決されてしまいました。jp. プレフィックス付きの国内完結プロファイルで固定したいので、プロファイル ID を直接書きます。

~/.claude/settings.json
"model": "jp.anthropic.claude-opus-4-8",

対応モデル jp. Opus 4.8 では auto mode で起動した

書き換えて claude-bedrock を起動します。

 ▐▛███▛█   Claude Code v2.1.248
▝▜██████▀  Opus 4.8 · Amazon Bedrock
  ▝▝ ▝▝    ~/work/xx

                                                                                                                       ● high · /effort
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ⏵⏵ auto mode on (shift+tab to cycle) · ← for agents · shift+click to native select

jp. の Opus 4.8 で、起動直後から auto mode on となりました。

一度 /exit で TUI から抜けておきます。

非対応モデル jp. Sonnet 4.6 では manual mode だった

次に modeljp. の Sonnet 4.6 に変えます。defaultMode: "auto" はそのままです。

~/.claude/settings.json
"model": "jp.anthropic.claude-sonnet-4-6",

claude-bedrock を起動し直しました。


 ▐▛███▛█   Claude Code v2.1.248
▝▜██████▀  Sonnet 4.6 · Amazon Bedrock
  ▝▝ ▝▝    ~/work/xx

                                                                                                   auto mode unavailable for this model
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  ⏸ manual mode on · ? for shortcuts · ← for agents · shift+click to native select

defaultMode: "auto" を書いていますが、manual mode on です。auto mode unavailable for this model と表示されています。非対応モデルでは auto が無視され、組み込みデフォルトの manual にフォールバックする、という挙動が確認できました。

おわりに

defaultMode: "auto" 対応モデルの Opus 4.8 では起動直後から auto mode になり、非対応モデルの Sonnet 4.6 では同じ設定でも manual に戻りました。

本記事への質問やご要望については画面下部の「DevelopersIOへのご意見」からお問い合わせいただけます。


Claudeならクラスメソッドにお任せください

クラスメソッドは、Anthropic社とリセラー契約を締結しています。各種製品ガイドから、業種別の活用法、フェーズごとのお悩み解決などサービス支援ページにまとめております。まずはご覧いただき、お気軽にご相談ください。

サービス詳細を見る

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事