ローカル開発でAnthropicのAPIキーを直接コードに書いたり、.envファイルにベタ書きしたりするの、そろそろやめたいよね。セキュリティ的にも運用面的にもスマートじゃない。
この記事では、長期APIキーを排除して、ブラウザOAuthでキーレス認証に移行する方法を教えるよ。結論ファーストで、最初にコピペできるプロンプトから見せるね。
一番雑な投げ方
まずはこれだけで試してみて。
ローカル開発環境のClaude APIキーをOAuth認証に移行して
これだけで、Claude Codeがプロジェクト内のAPIキー参照を特定して、OAuthで認証するように設定を修正してくれるはずだよ。
もうちょい具体的に投げるパターン
「もっと詳しく指示したい」「先に自分で準備しとくから、プロジェクト内の設定だけ見てほしい」って場合は、こんな感じで投げてみて。
ant CLIでOAuthログインするから、PythonとNode.jsのSDK初期化部分を修正して。
既存の.envや環境変数からANTHROPIC_API_KEYを削除して、代わりにant auth loginで生成される認証情報を使うようにプロジェクトの構成を修正して。
これらのプロンプトは、Claude CodeがOAuth認証を使うためのコード変更に集中してくれるよ。先に必要なツール (ant CLI) のセットアップやSDKのバージョンアップを自分で済ませておくって場合に便利だね。
実践例 / 実録
実際にウチのPythonとNode.jsのプロジェクトをキーレス認証に移行したときの手順を紹介するね。Claude Codeに投げる前に、いくつか手動で準備しておくことがあったんだ。
1. ant CLIのインストールとログイン
まず、Anthropicが提供してるCLIツール ant を入れるんだ。
brew install anthropics/tap/ant
ant --version
インストールしたら、ブラウザでログインして認証情報を保存するよ。
ant auth login
これを実行するとブラウザが起動するから、Claude Consoleで承認してね。承認が完了すると、認証情報が自動的に ~/.config/anthropic/ (macOSの場合)に保存されるよ。
ログインできたか確認しとこう。
ant auth status
Active profile: default とか Credentials: (active) * OAuth login って表示されればOKだ。
2. SDKバージョンの確認とアップデート
OAuthプロファイルを使った認証は、2026-05以降のSDKじゃないと対応してないんだ。古いSDKのままだと、せっかくOAuthでログインしても認証情報を見てくれないから注意して。
プロジェクトごとにSDKのバージョンをチェックして、古かったらアップデートするんだよ。
Pythonの場合: プロジェクトのディレクトリでこれ打ってみて。
python -c "import anthropic; print(anthropic.__version__)"
もしバージョンが古かったら、こうやってアップデートしとくんだ。
pip install -U anthropic
Node.jsの場合: プロジェクトのディレクトリに移動して、これ打ってみて。
cd <project> && node -e "console.log(require('@anthropic-ai/sdk/package.json').version)"
古かったら、最新版に更新しとくんだ。
npm install @anthropic-ai/sdk@latest
3. シェル環境のANTHROPIC_API_KEYを削除
これが一番大事かもしれない。もしシェル環境変数に ANTHROPIC_API_KEY が残ってると、OAuthでログインした情報がサイレントに上書きされちゃうんだ。
念のため、使ってるシェル(~/.zshrcとか~/.bashrcとか)や環境変数に ANTHROPIC_API_KEY が残ってないか確認して、見つけたら全部削除するんだよ。
env | grep ANTHROPIC_API_KEY
grep -E "ANTHROPIC_API_KEY" ~/.zshrc ~/.bashrc ~/.zprofile ~/.profile 2>/dev/null
もし検出されたら、該当する行を消して、source ~/.zshrc(または使ってるシェル設定ファイル)でシェルを再読み込みするのを忘れずに。
4. SDK初期化コードの修正
ここまで準備できたら、あとはClaude Codeに「anthropic API keyをキーレス認証に移行して」って投げるか、自分でコードを修正するだけだよ。
ほとんどの場合、Anthropic SDKの初期化部分を、APIキーを引数で渡さない形にするんだ。
Pythonの場合: 変更前:
from anthropic import Anthropic
client = Anthropic(api_key="sk-...")
変更後:
from anthropic import Anthropic
client = Anthropic() # 引数なしにする
Node.jsの場合: 変更前:
import Anthropic from "@anthropic-ai/sdk";
const anthropic = new Anthropic({ apiKey: "sk-..." });
変更後:
import Anthropic from "@anthropic-ai/sdk";
const anthropic = new Anthropic(); // 引数なしにする
こうやってAPIキーを渡す部分をなくせば、SDKが自動的に ant auth login で保存された認証情報を使ってくれるようになるんだ。全部終わってから「動くか確認して」ってClaudeに投げたら、ちゃんとAPIキーなしで動いてくれたよ。
つまずきポイント
ANTHROPIC_API_KEYが環境変数に残ってる
これ、本当にハマりやすいポイントだよ。
「ant auth loginしたのに動かない!」ってなったら、まずシェル環境のANTHROPIC_API_KEYが残ってないか確認するんだ。残ってると、OAuthでログインしてもそっちが優先されちゃうから、キーレスにならないんだよね。
さっきのgrepコマンドでチェックして、見つけたら消してシェルを再起動するの、絶対忘れちゃダメだぞ。
SDKのバージョンが古い
これもよくあるミスだよ。2026-05以降のSDKじゃないと、OAuthプロファイルを使った認証に対応してないんだ。
pip install -U anthropic とか npm install @anthropic-ai/sdk@latest で最新版にしとけば大丈夫。バージョンチェックは怠らないようにね。