11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Codeに設定したBedrock認証を解除したい!のに /logout できない😭

11
Posted at

まずは1行まとめ

ユーザースコープの settings.json に環境変数の素が残っているので、消せばOK

なぜこうなるの?

/logout は、あくまでAnthropicアカウントからログアウトするためのコマンド。

Bedrockの設定は、ローカルPCの環境変数に注入されており、実際の認証はAWSのIAM側で行われている。

最近はClaude Codeのセットアップ時にBedrock認証を設定できるが、そうすると ~/.claude/settings.json に環境変数の設定が残る仕組みになっている!

環境変数が効いちゃってると、 /login で上書きAnthropic認証しても、Bedrock側が有効になっちゃうんですよね。

解除方法

設定確認

cat ~/.claude/settings.json

すべてクリアするコマンドは以下

cp ~/.claude/settings.json ~/.claude/settings.json.bak.$(date +%Y%m%d%H%M%S)

python3 - <<'PY'
import json
from pathlib import Path

p = Path.home() / ".claude" / "settings.json"
if not p.exists():
    raise SystemExit("~/.claude/settings.json がありません")

data = json.loads(p.read_text())

remove_keys = {
    "CLAUDE_CODE_USE_BEDROCK",
    "CLAUDE_CODE_USE_MANTLE",
    "AWS_BEARER_TOKEN_BEDROCK",
    "ANTHROPIC_BEDROCK_BASE_URL",
    "ANTHROPIC_BEDROCK_MANTLE_BASE_URL",
    "ANTHROPIC_MODEL",
    "ANTHROPIC_DEFAULT_SONNET_MODEL",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL",
    "ANTHROPIC_DEFAULT_OPUS_MODEL",
    "ANTHROPIC_API_KEY",
    "ANTHROPIC_AUTH_TOKEN",
    "ANTHROPIC_BASE_URL",
}

env = data.get("env", {})
for k in remove_keys:
    env.pop(k, None)

if env:
    data["env"] = env
else:
    data.pop("env", None)

p.write_text(json.dumps(data, indent=2, ensure_ascii=False) + "\n")
print("Bedrock設定を削除完了!")
PY

クリアできたら、Claude起動すれば再セットアップできるはず!

claude

Claudeに聞いてもOK

プロンプト例

 Claude CodeにBedrock設定したのを、Anthropicアカウント認証に変更するには?
 Bedrockだと `/logout` ができない〜😭
11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?