目次
結論:APIキーを渡すのは、財布を渡すのに近い
Claude Codeに外部サービスのAPIキーを渡すと、できることが一気に広がります。
画像を作らせる、検索データを取ってくる、会計ソフトに仕訳を入れる。弊社も実際にやっています。
ただし、先に言っておきます。
APIキーは、そのサービスを使うための鍵です。無料の枠があるサービスもありますが、有料の従量課金なら使った分だけ請求が立ちます。そして渡した相手は、疲れも迷いもせず何度でも実行します。人間が「さすがに多いな」と思う場面でも、止まりません。
初心者の方には、APIキーを渡す運用をおすすめしていません。
便利だからではなく、事故ったときに自分で原因を追えるかどうかで線を引いています。
ここから先は自己責任の領域です。その前提で読んでください。
なぜこの記事を書いたか
弊社はClaudeに画像生成はできない|Claude Codeから画像を作る方法の記事で、「画像生成APIのキーを渡せばよい」と書きました。
書いておいて放り出すのは無責任なので、渡す前に知っておくべきことを、こちらに分けました。
検索で上位に出てくるのは、たいてい「APIキーの取得手順」です。
アカウントを作って、ボタンを押して、コピーする。そこまでは誰でもできます。問題はその後です。
事故1:契約しているのに、別で課金される
これが一番多く、一番気づきにくい事故です。
月額プランに入っているのに、別枠で従量課金の請求が来ます。
原因は認証の優先順位です。Anthropicの公式サポートに明記されています。
Claude Codeは、環境変数に設定されたAPIキーを、サブスクリプションの認証より優先します。これは意図的な設計だと説明されています。
そのため月額プランでログインしていても、APIキーが環境変数に残っていれば、従量課金のほうで請求されます。
公式の推奨は明確で、月額プランで使うなら「APIキーの環境変数を設定しないままにしておくこと」とされています。
やっかいなのは、画面上は何も変わらないことです。普通に動きます。
気づくのは請求を見たときで、そのときにはひと月分が積み上がっています。
今の状態を確かめる方法
| 確認したいこと | やり方 |
|---|---|
| 今どちらで認証されているか | Claude Codeの中で /status を実行する |
| キーが環境変数に残っていないか(Mac・Linux) | echo $ANTHROPIC_API_KEY |
| 同(Windowsのコマンドプロンプト) | echo %ANTHROPIC_API_KEY%※未設定のときは %ANTHROPIC_API_KEY% がそのまま表示されます |
| 同(Windows PowerShell) | echo $env:ANTHROPIC_API_KEY |
| いったん解除する(Mac・Linux) | unset ANTHROPIC_API_KEY※解除したらClaude Codeを起動し直してください |
キーらしき文字列が表示されたら、残っています。
Mac・LinuxとPowerShellは、未設定なら何も出ません。Windowsのコマンドプロンプトだけは、未設定のときに変数名がそのまま出るので、そこで勘違いしないでください。
月額プランで使うつもりなら、設定ファイルから消してください。一度だけ解除しても、ターミナルを開き直すと戻ってきます。
ここまではClaude自身のキーの話ですが、考え方はどのサービスでも同じです。
画像生成でも検索データでも、「動いている=正しく課金されている」ではありません。
動いたときこそ、どこに請求が立っているかを確認してください。
事故2:上限を決めていないと、止まらない
従量課金のサービスは、初期状態では上限がないか、かなり高い上限になっていることがあります。
人間なら「今日はこのへんでやめよう」と思う場面で、AIは止まりません。残高や利用制限に当たれば止まりますが、そこまでは指示どおり最後までやります。
弊社が必ずやっているのは、この2つです。
| やること | 理由 |
|---|---|
| サービス側の上限を設定する | 使いすぎに早く気づける。ただし止まる上限とは限らない(下記) |
| 使う前に「何回まで」を決めておく | 上限に当たってから気づくのでは遅い。手前で気づける |
順番が大事です。キーを作ったら、使い始める前に上限を設定してください。
「とりあえず動かしてから」で始めると、あとから設定しないまま忘れがちです。
ここが一番の落とし穴です。上限を設定しても止まらないサービスがあります。
たとえばOpenAIの「予算」は通知のためのしきい値で、超えてもリクエストは通り続けます。設定しただけで守られたつもりになると、かえって危ないです。
設定するときは、「到達したら止まるのか、メールが飛ぶだけなのか」を必ず確認してください。止まらないタイプなら、通知を受け取る宛先を自分にしておくことと、次に書く「回数を決めておく」ほうが効きます。
上限は金額の話だけです。キーそのものが漏れた場合、被害は請求額にとどまりません。
アカウントを他人に使われる、規約に反する使われ方をする、といった問題は上限では止まりません。金額の備えと、漏らさない備えは別です。
事故3:キーをコードに書いてしまう
一番やってはいけない形が、これです。
プログラムの中にキーの文字列を直接書く。その場では動きますし、一番手っ取り早い方法です。
問題は、そのファイルが後でどこへ行くかです。
バックアップに入る。共有フォルダに置かれる。うっかり公開の場所に上がる。キーは文字列なので、コピーされたら区別がつきません。
社内ルールとして、次の3つを決めています。
・APIキーをプログラムの中に直接書かない(必ず環境変数から読む)
・キーやパスワードを、バージョン管理に登録しない
・ログにキーを出力しない(エラーの記録に混ざるのを防ぐため)
3つ目は見落とされがちです。動作確認のつもりで出力した1行が、そのまま残ります。
弊社は2026年8月に、自社で書いたコードを別のAIに点検させました。
結果、実害のある指摘が2件出ました。そのうち1件がパスワードが見える形で残っていた箇所です。
書いた本人が見直しても、まず気づきません。「気をつける」だけでは防げないので、別の目を1回通すことをおすすめします。
弊社での渡し方
弊社はMacで運用しているので、OS標準の保管庫にキーを預けて、そこから環境変数として読み込む形にしています。
| 段階 | やっていること |
|---|---|
| 1 | キーはOSの保管庫(キーチェーン)に入れる。ファイルとしては置かない |
| 2 | ターミナルの起動時に、そこから環境変数として読み込む |
| 3 | プログラムは環境変数だけを見る。キーの文字列はコードのどこにも無い |
この形にしておくと、プログラムを人に見せても、共有フォルダに置いても、キーは付いてきません。
それでいて、使うときは何も意識しなくて済みます。手間はほぼ増えません。
Windowsでも考え方は同じです。
キーを直接書かず、OSやツール側の保管の仕組みを経由させる。この一点が守れていれば、形式は問いません。
使った量を、自分で数える仕組みを作る
これは弊社が実際にやっていて、効いていることです。
使うたびに、消費量を記録するファイルに追記させています。
たとえば検索データを取ってくるサービスでは、月に使える量を自分たちで決めています。
決めているのは契約の上限ではなく、「うちのこの用途では、月にここまで」という社内の上限です。そして呼び出す前に必ず記録を確認し、呼び出したら必ず追記する。手前で警告が出る量も決めてあります。
使用量は管理画面でも見られますが、わざわざ見に行かないと分かりません。請求方式もサービスによって違い、前払いの残高方式なら請求書は来ません。
手元に記録があると、見に行かなくても今週の使いすぎがその場で目に入ります。
さらに副産物があって、「前に同じことを調べた」が分かるので、同じ問い合わせを二度投げなくなります。これが一番節約になっています。
権限は最小に。終わったら消す
サービスによっては、キーを作るときに権限の範囲を選べます。
選べるなら、その作業に必要な最小限にしてください。読み取りだけで足りるなら、書き込みを付けない。
そして、意外とやらないのがこれです。
使い終わったキーを消す。試しに作ったキー、一度きりの作業で使ったキー。残しておく理由がないものは削除してください。残っているキーは、いつ漏れてもおかしくありません。
| 場面 | やること |
|---|---|
| 検証で作ったキー | 検証が終わったら削除する |
| 外部の人と作業したとき | 作業終了後に作り直す(見られた前提で動く) |
| 漏れたかもしれないと思ったとき | 迷わず削除して作り直す。調べるのは後でよい |
初心者にすすめない理由
弊社はAIの導入支援もしていますが、始めたばかりの方にAPIキーを渡す運用はすすめていません。
「危ないから」という漠然とした理由ではなく、はっきりした理由が2つあります。
理由1:異常に気づけない
おかしな動きをしていても、慣れていないと「そういうものかな」と流してしまいます。
止めるべき場面が分からないうちは、止まらない相手に鍵を渡すべきではありません。
理由2:原因を追えない
請求が出たとき、どの作業が原因だったのかを自分でたどれる必要があります。
たどれないと、同じことをまた繰り返します。失敗が学習にならない状態が一番よくありません。
いきなり全部を任せません。アルバイトの方に仕事を教えるのと同じ順番です。
最初は全部確認する。慣れたら大事なところだけ確認する。完全に読めるようになったら任せる。
APIキーを渡すのは、この一番最後の段階です。権限の上げ方はClaude Codeのauto modeを初心者に使わせない理由に詳しく書きました。
それでも始めるなら、この順番で
条件がそろっているなら、止めはしません。
弊社が新しいサービスのキーを使い始めるときの順番を、そのまま書きます。
| 順 | やること | 飛ばすとどうなるか |
|---|---|---|
| 1 | 先に上限を設定し、止まる上限か確認する | 通知だけの予算だと止まらない |
| 2 | 権限を最小にしてキーを作る | 漏れたときの被害が広がる |
| 3 | OSの保管庫に入れ、環境変数で読む | キーがファイルに残り続ける |
| 4 | 1回だけ手で動かして、課金の発生場所を確認する | 二重課金に気づけない |
| 5 | 消費量を記録する仕組みを先に作る | 見に行かないと使いすぎに気づけない |
| 6 | そこから自動化を始める | — |
4番目を強くおすすめします。
自動化する前に、1回だけ自分の手で動かしてください。そこで請求がどこに立つかを見ておけば、事故1はまず起きません。
よくある質問
月額プランに入っていれば、APIキーは要らないのですか
Claude Code自体を使うだけなら要りません。むしろ設定しないほうが安全です。
APIキーが要るのは、画像生成などの外部サービスを呼び出すときと、Claude自体をAPIの従量課金で使うときです。
月額プランで使うことと、APIキーで使うことは別の契約だと考えてください。混ざると、この記事の事故1が起きます。
キーが漏れたかもしれません。どうすればいいですか
まず削除して作り直してください。調べるのはその後です。
「たぶん大丈夫」で残しておくのが一番危険です。作り直す手間は数分で、被害は数分では終わりません。
環境変数とファイルに書くのとで、そんなに違いますか
違います。ファイルはコピーされ、共有され、バックアップに入ります。
環境変数は、その端末のその環境にしか存在しません。コードを人に見せても付いてきません。この差は大きいです。
会社で複数人が使う場合はどうしていますか
キーを共有しないでください。人ごとに分けるのが原則です。
分けておけば、使いすぎたときに誰の作業かが分かり、辞めた人の分だけを消せます。共有していると、消すために全員を止めることになります。
まとめ
APIキーを渡すこと自体は、悪いことではありません。
弊社もそれで日々の作業を回しています。問題は、渡し方と、渡した後を見ているかどうかです。
・月額プランに入っていても、キーが残っていると従量課金になる(公式仕様)
・使い始める前に、上限金額を先に設定する
・キーはコードに書かない。保管庫に入れて環境変数で読む
・消費量を自分で記録する。請求書を待たない
・使い終わったキーは消す。漏れたと思ったら即作り直す
・慣れていないうちはやらない。ここは自己責任の領域です
弊社はホームページ制作の会社ですが、こうした仕組みを自分たちで組んで運用しています。
実際に詰まったところを、そのまま記事にしています。