Claude APIキーの発行と環境変数への設定手順|漏えい時の対処も
Claude APIキーの発行手順と、Windows・macOS・Linux別の環境変数への設定、コードからの読み込みまでを執筆時点の公式ドキュメントに沿って整理します。コードへの直書きが危ない理由と、キーが漏れたときに新旧を入れ替えるローテーションの手順もまとめました。
- Claude
- Claude API
- APIキー
- 環境変数
- セキュリティ
- 他2
Claude API のキーは発行できた。最小のコードも動いた。それでもキーをそのままコードに書いた状態で止まっていて、このままでよいのか気になっている方もいるでしょう。環境変数に置くとよいと聞いても、Windows・macOS・Linux でやり方が変わるため、どこから手をつければよいか迷います。
本記事では、Claude Console でのキー発行から、OS別の環境変数設定、コードからの読み込み、そしてキーが漏れた(かもしれない)ときの入れ替え手順までを一続きで扱います。APIでできることや最小のコード例は「Claude APIの使い方」で扱いました。本記事はその続きとして、キーの管理と安全な使い方に絞って進めます。
今日の結論
- APIキーはコードに直書きしません。Gitはコミットの履歴を保持する仕組みのため、あとからコードを消してもキーの文字列は履歴に残り続けます。環境変数に置いてコードから読み込む形が基本です
- 流れは「Claude Consoleで発行 → OSの環境変数に設定 → コードから読み込む」の3段階です。画面名・変数名は執筆時点の公式ドキュメントで確認した名称を使います
- 環境変数の設定はOSごとに書き方が異なります。Windows・macOS・Linuxを分けて示すので、自分のOSの箇所だけ読めば設定できます。
.envファイルを使う場合はGitに含めません- キーが漏れた(疑いを含む)ときは、先に新しいキーを発行して差し替え、動作を確認してから古いキーを無効化・削除します。この順であれば作業を止めずに入れ替えられます
- APIでできることや最小のコード例は「Claude APIの使い方」を参照してください。料金やレート制限の詳細は別記事参照
APIキーの発行手順(コードへの直書きから抜け出す)

キーをコードに直書きしたままにしておくと、Gitはコミットの履歴を残す仕組みのため、あとからその行を削除してコミットしても、過去の履歴を辿ればキーの文字列は読み取れてしまいます。公開リポジトリへpushした場合や、画面共有・スクリーンショットにコードが映った場合も同じです。発行した瞬間から意識したいのは、コードとは別の場所にキーを置くという前提。
Claude APIのキーは、Claude Console(platform.claude.com)で発行・管理します。執筆時点の公式ドキュメントで確認した範囲では、手順は次のとおりです。
platform.claude.comにサインインします(アカウントがなければ作成します)Settings → API keysの画面を開きますCreate keyをクリックし、キーの名前と有効期限を設定します。個人の学習用途では、自分用の Personal key を選べば基本的に足ります(共有のワークロードで使う場合は Service account key を選びます)- 表示されたキーをコピーし、パスワードマネージャーなど安全な場所に控えます。キーは
sk-ant-から始まる文字列で、発行直後の1回しか全文が表示されません。控え忘れると同じキーは見られず、新しいキーを発行し直す形になります
Claude Consoleへのログインまでの手順は「Claude Codeのインストール」で扱っています。キーの名前は用途と日付が分かる形にしておくと、あとで漏えいを疑ったときにどのキーを無効化すべきか、すぐに判断できます。
OS別の環境変数設定(Windows・macOS・Linux)
環境変数(OSがプログラムに渡す設定値)は、コードとは別にOS側で管理されます。コードに直書きする代わりに環境変数へ置くのは、キーがコードそのものとは分離された場所に置かれるためです。この形にしておけば、コードを共有・公開してもキーまで一緒に渡ることはありません。
Claude のSDKが自動で読み込む変数名は ANTHROPIC_API_KEY です。執筆時点の公式ドキュメントで確認した範囲です。以下、OSごとに設定方法を分けます。
Windows
- コマンドプロンプトを開き、次のコマンドを実行します
setx ANTHROPIC_API_KEY "<APIキー>"
setxはユーザー環境変数として恒久的に登録するコマンドです。実行しても、今開いているウィンドウには反映されません- 新しいコマンドプロンプトまたはPowerShellを開き、反映されているかを確認します
今のセッションだけで一時的に試したい場合は、PowerShellで次のように入力する方法もあります。ウィンドウを閉じると設定は消えます。
$env:ANTHROPIC_API_KEY = "<APIキー>"
macOS・Linux
- ターミナルで次のコマンドを実行すると、そのセッションだけキーが設定されます
export ANTHROPIC_API_KEY="<APIキー>"
- ターミナルを閉じても残したい場合は、シェルの設定ファイルに同じ行を追記します。macOSの標準シェルはzsh(
~/.zshrc)ですが、Linuxではディストリビューションによってbash(~/.bashrc)が使われることもあり、どちらを使っているかは環境によって異なるため断定できません。ご自身の環境を確認してください - 設定ファイルを保存したら
source ~/.zshrcのように読み込み直すか、新しいターミナルを開きます
Windows・macOS・Linuxのいずれでも、設定した直後のターミナルではなく、新しく開いたターミナルで確認してください。環境変数はターミナルの起動時に読み込まれる仕組みのため、開いたままのウィンドウには反映されない、という点は共通です。
コードからの参照(環境変数を読み込む)
PythonのSDKでは、anthropic.Anthropic() を呼び出すだけで環境変数 ANTHROPIC_API_KEY を自動的に読み込みます。執筆時点の公式ドキュメントで確認した範囲です。コードにキーの文字列を書く必要はありません。
import anthropic
client = anthropic.Anthropic()
環境変数を明示的に読み込んで渡したい場合は、次のように書く方法もあります。
import os
import anthropic
client = anthropic.Anthropic(api_key=os.environ.get("ANTHROPIC_API_KEY"))
どちらの書き方でも、コードの中にキーの文字列そのものは登場しません。実際にメッセージを送る最小のコードは「Claude APIの使い方」ですでに扱っているので、その最小例が環境変数経由で動けば設定は完了です。認証エラーで止まった場合は、まず変数名の綴りと、新しいターミナルを開いたかどうかを確認してください。
コードのそばに .env ファイルを置き、ANTHROPIC_API_KEY=<APIキー> の形式で書いてライブラリ経由で読み込む方法もあります。この場合も .env をGitに含めてしまえば直書きと同じ状態になるため、.gitignore に追加しておいてください。Gitとの連携は「Claude CodeのGit連携」で扱っているので、ここでは深掘りしません。
なお、Claude CodeのMCPサーバー設定とAPIキーの環境変数は別の経路です。混同しやすい部分ですが、両者を一致させる必要はありません。詳しくは「Claude MCP設定の基本」で扱っています。
漏えい時の対処(新キー発行→差し替え→旧キー無効化)
キーが漏れたと確信できる場合だけでなく、漏れたかもしれないという段階でも対処の対象になります。公開リポジトリへのpush、スクリーンショットへの写り込み、画面共有中の表示などが典型です。
入れ替えの順番は次のとおりです。
platform.claude.comにサインインし、Settings → API keysを開きます。Create keyから新しいキーを発行し、表示された文字列をコピーして控えます(APIキーの発行手順の1〜4と同じ操作です)- 環境変数
ANTHROPIC_API_KEYを新しいキーの値に差し替えます。Windows ではsetx ANTHROPIC_API_KEY "<新しいAPIキー>"を実行し、macOS・Linux ではexport ANTHROPIC_API_KEY="<新しいAPIキー>"を実行するか、~/.zshrcなど設定ファイルの該当行を書き換えます(OS別の環境変数設定の手順を参照) - 新しいターミナルで動作を確認します
- 動作を確認できたら、Claude Consoleで古いキーを無効化または削除します
この順番が大切な理由は、先に古いキーを無効化してしまうと、差し替えが終わるまでの間、既存の処理がすべて認証エラーになってしまうためです。新しいキーへの入れ替え(ローテーション。新しいキーへの置き換え)を先に済ませてから古いキーを止めれば、作業を止めずに切り替えられます。
執筆時点の公式ドキュメントで確認した範囲では、Claude Consoleの操作には無効化(Disable)と削除(Delete)の2つがあります。無効化は取り消し可能で、あとから再び有効に戻せますが、削除は取り消せません。漏えいの疑いが強い場合は、削除まで進めておくと安心です。
入れ替えが終わったら、コードに直書きへ戻っていないか、Gitの履歴に古いキーが残っていないかも合わせて見直してください。Git履歴からの削除は「Claude CodeのGit連携」で扱っているので、ここでは説明しません。
次に読む
APIでできることや最小のコード例、認証でつまずいたときの確認ポイントは「Claude APIの使い方」にまとめています。料金やレート制限、SDKの全体像は別記事で扱う予定です。
Claude CodeやMCPを含めたシリーズ全体の読む順は、Hubの「Claude Code入門ガイド」で確認できます。
本記事の内容は執筆時点(2026-08-30)の情報に基づきます。Claude APIのConsole画面・環境変数の扱い・キー管理の仕様は変更される可能性があります。重要な判断は公式ドキュメントで確認してください。