職場では、Claude Code を Amazon Bedrock 経由で使えるようにしてあった。その後、会社で Claude の Team プランが配られたので、今は両方使える状態になっている。Bedrock は使った分だけ料金がかかるので、普段は Team プランを使い、Bedrock は必要なときだけ使いたい。
問題は切り替え方である。ターミナルの Claude Code と、VS Code の拡張機能の Claude Code の両方で、Team と Bedrock を手軽に切り替えたい。いろいろ考えて、次の形に落ち着いた。
| どこで | どう起動するか | 使われるもの |
| 普段のフォルダ | ターミナルで claude | Team プラン |
| 普段のフォルダ | VS Code の拡張機能 | Team プラン |
| どこでも | ターミナルで claude --settings ~/.claude/settings-bedrock.json | Bedrock |
| Bedrock 専用のフォルダ | ターミナルで claude | Bedrock |
| Bedrock 専用のフォルダ | VS Code の拡張機能 | Bedrock |
普段は Team プランを使い、好きなときに Bedrock に切り替えたい場合のポイントは2つある。ターミナルは起動するときに Bedrock 用の設定ファイルを指定する。VS Code の拡張機能は起動時に設定ファイルを指定できないので、Bedrock 用の設定を置いた専用のフォルダを開く。
Bedrock 用の設定ファイル
Bedrock に切り替えるための設定を、1つのファイルにまとめておく。私は ~/.claude/settings-bedrock.json という名前にした(Windows なら %USERPROFILE%\.claude\settings-bedrock.json)。中身は次のとおり(プロファイル名は自分の環境のものに置き換える)。
{
"env": {
"CLAUDE_CODE_USE_BEDROCK": "1",
"AWS_PROFILE": "<作業用ロールのプロファイル名>",
"AWS_REGION": "ap-northeast-1"
},
"awsAuthRefresh": "aws login --profile <ログイン用ユーザーのプロファイル名>"
}
| 設定 | 意味 |
| CLAUDE_CODE_USE_BEDROCK | 1 にすると、Claude Code が Bedrock 経由で動く |
| AWS_PROFILE | 使う AWS のプロファイル。私の環境では、AWS 上のリソースを操作する権限があるロール |
| AWS_REGION | Bedrock を使うリージョン。東京(ap-northeast-1) |
| awsAuthRefresh | AWS の認証が切れたときに実行するコマンド。私の環境では、上のロールに切り替える権限と Bedrock の利用権限を持つユーザーで aws login する |
awsAuthRefresh は、AWS の認証が切れたときだけ動く。公式ドキュメントによると、Claude Code はまず認証が本当に切れているかを確かめ、切れていれば指定したコマンドを実行してから、もう一度リクエストを送る。aws login はブラウザでサインインする方式(AWS CLI 2.32.0 以降)で、1回のサインインは最大12時間有効なので、長い作業の途中で切れても、ブラウザでサインインし直すだけで続けられる。aws login の使い方はEC2 へ RDP ポートを開けずに接続する記事でも紹介している。
ターミナルでの切り替え
普段どおり claude で起動すれば Team プラン、設定ファイルを指定して起動すれば Bedrock になる。
claude --settings ~/.claude/settings-bedrock.json
--settings で渡した設定は、その起動のときだけ効く。次に普通に claude で起動すれば、Team プランに戻る。
VS Code の拡張機能での切り替え
VS Code の拡張機能には、起動するときに設定ファイルを渡す方法がない。そこで、Bedrock で使いたいとき専用のフォルダ(私は claude-bedrock という名前にした)を作り、その中の .claude\settings.local.json に、上の settings-bedrock.json と同じ内容を書いておいた。
claude-bedrock\ └─ .claude\ └─ settings.local.json ← settings-bedrock.json と同じ内容
VS Code でこのフォルダを開いて拡張機能の Claude Code を使うと Bedrock になり、ほかのフォルダでは Team プランのままになる。このフォルダでターミナルから claude を起動した場合も、同じく Bedrock になる。
なぜこれで切り替わるのか
Claude Code の設定には優先順位がある。公式ドキュメントによると、高い順に次のとおり。
- 組織の管理者が配る設定(managed settings)
- 起動時に
--settingsで渡した設定 - フォルダの
.claude\settings.local.json - フォルダの
.claude\settings.json - 個人の
~/.claude/settings.json
--settings と settings.local.json は、個人の設定より優先される。そのため、普段の設定(Team プラン)はそのままに、起動のしかたや開いたフォルダによって Bedrock の設定を上に重ねられる。また、ターミナルの Claude Code と VS Code の拡張機能は同じ設定ファイルを読むので、フォルダの settings.local.json はどちらにも効く。
どちらで動いているかの確認
Claude Code の中で /status を実行すると確認できる。Team プランで動いているときは、ログインの方法(Login method)が Claude Team account と表示される。Bedrock で動いているときは、API provider が Amazon Bedrock と表示される。
会社の PC で試す場合、組織の管理者が配っている設定(managed settings)の適用のされ方は環境によって違う。思ったとおりに切り替わらないときは、/status で何が読み込まれているかを確認するとよい。
Bedrock で使うときの注意
- 料金は Bedrock 側(AWS の請求)にかかる。使った分だけかかるので、長い作業は Team プランで、と使い分けている
- 公式ドキュメントによると、Bedrock では WebSearch ツールが使えず、
/logoutも使えない(認証は AWS 側で行うため) - 新しいモデルを Bedrock で初めて使うときに 403 エラーになることがある。原因と対処はBedrock で新しい Claude モデルだけ 403 エラーになる記事にまとめた
この記事のまとめ

- Bedrock 用の設定(CLAUDE_CODE_USE_BEDROCK・AWS_PROFILE・AWS_REGION・awsAuthRefresh)を1つのファイルにまとめる
- ターミナルは claude --settings でそのファイルを指定すると Bedrock、普通に claude なら Team プラン
- VS Code の拡張機能は、同じ内容を settings.local.json に書いた専用フォルダを開くと Bedrock
- どちらで動いているかは /status で確認する
関連記事
- 【Claude】EC2のWindows ServerからClaude DesktopをAmazon Bedrock経由で使う方法
- 【AWS】Bedrockで新しいClaudeモデルだけ403エラーになる原因と対処
- 【AWS】RDPポートを開けずにEC2のWindows Serverへ接続する|aws login+SSMをワンクリック化

コメント