XAI_API_KEYを登録したはずなのに、Grok APIを呼ぶプログラムでは空になる。Windowsでは、保存先の環境変数と、起動済みプロセスが持っている環境変数が違うことがあります。キーを何度も発行する前に、どの場所に設定があり、どのアプリが読んでいるかを確認します。

赤堀亘
執筆・監修 AiWiLL株式会社 代表取締役 赤堀亘

日本テレビ・Bitget等でのB2Bマーケティング実務を経て、2023年にSHIFT AI創業へ参画。コミュニティ・スクール責任者として2年で3万人規模へのグロースを主導。2026年、静岡県熱海市でAiWiLL株式会社を創業。生成AI顧問「WiLLAGENT」として、防災設備・不動産管理・旅館・飲食など現場型の中小企業に入り、売り上げ向上に寄与するマーケティングや営業施策をどうAIで質を上げ、数を増やすかを一緒に考え抜き、人手不足のなか報告書・見積・マニュアルづくりといった実務をいかにAIで省くかといった、AIを使った事業づくりを伴走支援している。生成AI研修・Eラーニングの監修も担当。企画したイベント・ウェビナーは累計112件、参加者は1万人超。

AIエージェント・新規事業リサーチ・マーケティングの実践セミナー3本の本編と、WiLLAGENTのサービス説明PDFを、無料の資料セットとして公開しています。→ 無料資料セットを受け取る

三つの保存範囲を、値を出さずに確かめる

Microsoftの説明では、Windowsの環境変数にはProcess、User、Machineの範囲があります。Processは現在のPowerShellなどの実行環境、Userは利用者、Machineはコンピューター全体に関係する設定です。子プロセスは親プロセスの環境変数を引き継ぎます。

次のコマンドは設定の有無だけを表示します。APIキーの全文や長さは表示しません。普段失敗しているプログラムを起動するPowerShellで実行してください。

foreach ($scope in 'Process','User','Machine') {
  $value = [Environment]::GetEnvironmentVariable('XAI_API_KEY', $scope)
  [pscustomobject]@{
    Scope = $scope
    IsSet = -not [string]::IsNullOrWhiteSpace($value)
  }
}
$value = $null

IsSetがTrueでも、キーの有効性や権限までは分かりません。ここで調べているのは文字列がその範囲に存在するかだけです。この確認で値があると分かった後に認証エラーが続く場合は、API応答側の調査に進みます。

結果から次の確認先を選ぶ

確認結果 起きている可能性 次の操作
UserはTrue、ProcessはFalse 保存後も古いプロセスを使っている 作業を保存し、呼び出し元のアプリごと開き直す
ProcessだけTrue そのセッションだけで設定した どの方法で起動時に渡すかを決める
すべてFalse 未設定、変数名の違い、別ユーザー アプリが期待する変数名と実行ユーザーを確認
すべてTrueでも一部だけ失敗 別の実行環境や別の値を参照している 実際の起動経路と設定の優先順位を調べる

UserとMachineの両方に値がある場合も、どちらかをすぐ削除しないでください。他のアプリが利用している可能性があります。設定責任者と使っている処理を確認したうえで、保管場所を整理します。

新しいターミナルなのに反映されない理由

VS Codeの中でターミナルを追加しても、親にあたるVS Code自体が古い環境を持っていれば、その影響を受ける可能性があります。「タブを増やした」と「起動元を開き直した」を分けて記録してください。まずファイルを保存し、対象アプリを閉じて開き直してから同じ有無チェックを行います。

タスクスケジューラやサービスは、対話操作中のユーザーと異なる権限・アカウントで動くことがあります。自分のPowerShellでTrueになっただけでは、定時処理でも読めるとは限りません。定時処理側には、有無だけを記録する診断を用意し、キーをログへ出さないようにします。

.envを置くことと、環境変数を読むことは別

.envファイルを保存しても、すべてのプログラムが自動で読み込むわけではありません。そのプログラムに読み込み処理や起動オプションがあるか、どのフォルダーのファイルを読むかを確認します。ファイルの存在、実行フォルダー、読み込み機能の順で調べれば、APIキーを露出せずに切り分けられます。

共有用メモには「PowerShellでは設定あり、エディターから起動した処理ではなし」「エディターを開き直した後に変化した」のように経路と結果を書きます。画面共有で環境変数一覧や.env全体を表示する方法は避けます。

次はGrok APIのHTTPエラー確認へ進んでください。社内PCごとに設定がばらばらなら、AIを動かす環境と担当範囲の整理から相談できます。

参照した資料

自社の仕事なら、何をAIに任せられるか。

報告書の作成、見積りの下書き、問い合わせ返信、社内資料の整理。いま困っている仕事を一つ選び、必要な資料と、人が確認する範囲から整理します。

まずはAIに任せる準備度を診断する

任せたい業務・費用について相談する

AI社員の制作と、自社でAIを作り育てるAI顧問をご案内しています。支援内容・料金を見る