Codexのログイン方法は、ChatGPTのアカウントでサインインする方法と、OpenAIのAPIキーでサインインする方法の2つです。どちらを選ぶかで、料金の払い方、使える機能、会社の管理設定のかかり方が変わります。この記事では、2つの方法の違い、アプリ・CLI・IDE拡張ごとの手順、ログイン状態の確かめ方、ブラウザでログインできない時と会社の端末で止まった時の確認順を説明します。
この記事は、OpenAIの公式資料(Authentication、Command line options、Configuration Reference、Pricingなど)に基づく解説です。いずれも2026年11月6日に取得した版です。
Codexのインストールがまだの場合は、先にCodex CLIのインストール方法と初回設定で導入を済ませてください。この記事はログインの部分だけを扱います。
Codexのログイン方法は2つ:ChatGPTとAPIキーの違い
公式資料では、ChatGPTでのサインインは「サブスクリプションで使う方法」、APIキーでのサインインは「使った分だけ払う方法」と説明されています。ChatGPTデスクトップアプリ、Codex CLI、IDE拡張は、手元の作業ならどちらの方法にも対応しています。ただし、クラウドで作業を任せるCodex cloudは、ChatGPTでのサインインが必要です。
| 比べる点 | ChatGPTでログイン | APIキーでログイン |
|---|---|---|
| 料金 | 契約しているChatGPTプランの利用枠を使う | OpenAI Platformのアカウントに、APIの通常料金で請求される |
| 使える入口 | アプリ・CLI・IDE拡張・Codex cloud | アプリ・CLI・IDE拡張(手元の作業)。Codex cloudは使えない |
| 機能の制限 | プランの機能の表に従う | GitHubのコードレビューやSlack連携など、クラウドの機能は使えない。プラグインは一部に限られる |
| 管理とデータの扱い | ChatGPTのワークスペースの権限、役割ごとのアクセス制御、Enterpriseの保存期間と保存地域の設定に従う | APIの組織の保存期間とデータ共有の設定に従う |
| 向いている使い方 | 契約しているプランの範囲で、日々の作業に使う | CI/CDなど、プログラムからCodex CLIを動かす |
ChatGPTでログインしても、使える入口はプランで違います。料金ページのカードでは、FreeとGoはデスクトップアプリでの利用だけが段階的な提供として書かれ、Web・CLI・IDE拡張はPlus以上のカードに書かれています。プランごとにどの機能が使えるかは、公式の機能の表で入口ごとに確かめられます。料金の数字とプランの選び方はCodexの料金の記事、ChatGPTのプランで使う時の上限はCodexの上限の記事で説明しています。
公式のCodex CLIの始め方も、初回の起動でSign in with ChatGPTを選ぶ流れで説明しています。ChatGPTのプランを契約しているならChatGPTでのログインから始め、APIキーは、上限に達した後に手元の作業を続けたい時や、自動化の仕組みでCodexを動かす時に使い分けます。公式資料は、APIキーでの自動化を信頼できない環境や公開された環境で動かさないよう注意しています。

入口ごとのログイン手順:アプリ・CLI・IDE拡張・Web
アプリ・CLI・IDE拡張でChatGPTでログインする場合は、ブラウザが開きます。ブラウザでサインインを終えると、ブラウザからCodexへログイン情報が戻され、Codexが使える状態になります。APIキーの場合は、キーを入力するか、CLIなら標準入力から渡します。APIキーはOpenAIのダッシュボードで発行します。
ChatGPTデスクトップアプリでログインする
サインインしていない画面でContinue to sign inを選び、ブラウザでサインインを終えます。APIキーを使う場合はSign in another wayを選び、キーを入力してContinueを選びます。
Codex CLIでログインする
ターミナルで次のコマンドを実行すると、ブラウザが開いてChatGPTでのサインインが始まります。有効なログインが無い状態でcodexを起動した時も、この方法が既定です。
codex login
APIキーでログインする場合は、キーをコマンドの引数に書かず、環境変数から標準入力で渡します。公式資料の例は次のとおりです。
printenv OPENAI_API_KEY | codex login --with-api-key
ChatGPT Enterpriseなどのワークスペースで管理者がCodexのアクセストークンの利用を許可している場合は(料金ページの機能の表ではBusinessとEnterpriseで利用可)、printenv CODEX_ACCESS_TOKEN | codex login --with-access-tokenでトークンを渡す方法もあります。ブラウザでのログインなしにワークスペースの権限で動かしたい場面向けで、公式資料は信頼できるスクリプト、定期実行、非公開のCIの実行環境に使うものと説明しています。
IDE拡張でログインする
サインインしていない画面でSign in with ChatGPTを選び、ブラウザでサインインを終えます。APIキーを使う場合はUse API Keyを選び、キーを入力してOKを選びます。VS Codeでの使い始めはCodexをVS Codeで使う方法で説明しています。
ChatGPTのWebでログインする(Codex cloud)
ChatGPTを開いてサインインし、作業するワークスペースを選びます。ログインの状態はそのブラウザに保たれます。個人のアカウントと会社のワークスペースを両方持っている場合は、プロフィールのメニューで使っているアカウントとワークスペースを確かめてから作業を始めます。Codex cloudはChatGPTでのログインが必要で、APIキーでは使えません。
Codex cloudを使う場合は、多要素認証(MFA)の条件もあります。メールアドレスとパスワードでログインしている人は、Codex cloudを使う前にMFAの設定が必要です。ログイン方法を複数持ち、その一つがメールアドレスとパスワードなら、別の方法でサインインしていても、Codexを使う前にMFAの設定が必要です。GoogleやMicrosoft、Appleのアカウントでログインしている場合は必須ではなく、各サービス側でMFAを設定できます。会社のシングルサインオン(SSO)を使う場合は、SSOの管理者が全員にMFAを求めるよう公式資料は案内しています。
Codex cloudの始め方はCodex Cloudの記事で説明しています。
ログイン状態を確かめる・ログアウトする
どのアカウント・どの方法でログインしているかは、作業を始める前に確かめます。個人のアカウントと会社のワークスペースを両方持っている場合、意図しない側の利用枠を使うことを防げます。
| 入口 | 状態を見る | ログアウトする |
|---|---|---|
| アプリ・IDE拡張 | プロフィールのメニューで、使っているアカウントかAPIキーの状態を見る | 同じメニューのLog out |
| ChatGPTのWeb | プロフィールのメニューで、使っているアカウントとワークスペースを見る | 同じメニューのLog out(そのブラウザのログインを終える) |
| CLI | codex login statusで、使っている認証の方法を表示する | codex logout、または対話中に/logout |
codex login statusが表示するのは認証の方法(ChatGPTかAPIキーか)です。CLIでどのアカウントかを表示する方法は、公式資料に記載がありません。CLIとログイン情報を共有するIDE拡張を使っていれば、そのプロフィールのメニューで同じアカウントを確かめられる、というのが2つの記載を合わせた編集部の整理です。Webのメニューに出るのはそのブラウザのログインで、CLIのアカウントとは別です。迷った時は、codex logoutのあと、意図したアカウントでcodex loginし直します。codex login statusは、ログインしている時に終了コード0を返します。自動化のスクリプトで、ログイン済みかを先に確かめる用途に使えます。codex logoutは、APIキーとChatGPTの両方の保存済みログイン情報を消します。
CLIとIDE拡張は同じログイン情報を共有しています。どちらか一方でログアウトすると、次にCLIかIDE拡張を起動した時に、もう一度ログインが必要になります。ChatGPTでのログインは、使っている間にCodexがトークンを自動で更新するため、使い続けている限りブラウザでのログインを毎回求められることは通常ありません。
CLIでブラウザのログインが使えない時:デバイスコードと代わりの方法
この節の方法は、公式資料ではCodex CLIの手順として書かれています。アプリでの代わりの方法は公式資料に記載がありません。IDE拡張はCLIとログイン情報を共有するため、CLIでログインすればIDE拡張でも同じログインが使われる、というのが2つの記載を合わせた編集部の整理です。
公式資料は、ブラウザを使うログインが動かない場面として、リモートの環境や画面の無い環境でCLIを動かしている場合と、端末のネットワーク設定がlocalhostへの戻り先をふさいでいる場合を挙げています。この時は、まずデバイスコードを試し、使えなければ代わりの2つの方法のどちらかを使います。
デバイスコードでログインする(ベータ)
- デバイスコードでのログインを有効にします。個人のアカウントはChatGPTのセキュリティ設定、ワークスペースは管理者がワークスペースの権限で設定します。
- CLIの対話式のログイン画面(ターミナル)でSign in with Device Codeを選ぶか、
codex login --device-authを実行します。 - 表示されたリンクをブラウザで開いてサインインし、一度だけ使えるコードを入力します。
ログイン情報のファイルをコピーする
ブラウザのある端末でcodex loginを済ませ、作られた~/.codex/auth.jsonをリモートの端末の同じ場所へコピーする方法もあります。ただし、ログイン情報をOSの資格情報ストアに保存している場合は、このファイルが作られないことがあります。コピーしたファイルの扱いは、後の「ログイン情報の保存先と扱い」を読んでから決めてください。
SSHでlocalhostの戻り先を転送する
手元の端末とリモートの端末の間でポートを転送できる場合は、通常のブラウザでのログインを使えます。Codexがログイン情報を受け取るlocalhostの戻り先(既定は1455番)を、手元から転送します。
ssh -L 1455:localhost:1455 user@remote
このSSHの接続の中でcodex loginを実行し、表示されたアドレスを手元のブラウザで開きます。user@remoteは接続先に置き換えてください。
CI/CDでの自動化には、公式資料はAPIキーを基本の方法として勧めています。CodexをGitHubのワークフローで動かす方法はGitHub Actionsの記事で扱っています。
会社の環境でログインできない時に確かめること
会社の端末やワークスペースでは、個人の設定とは別に、管理者の設定でログインの方法が決められていることがあります。ログインしてもすぐに終了する、選んだ方法が使えない、という時は次の点を確かめます。
| 確かめること | 公式資料の説明 | 誰が直すか |
|---|---|---|
| ログインの方法の指定 | forced_login_methodでChatGPTかAPIキーのどちらかに限定できる。forced_chatgpt_workspace_idでワークスペースも限定できる。ログイン情報が指定と合わないと、Codexはログアウトして終了する | 管理者。利用者は指定された方法とワークスペースでログインし直す |
| 管理者の要件ファイル | システムの要件ファイルやmacOSのMDMのallowed_login_methodsとallowed_chatgpt_workspacesでも、使える方法とワークスペースを限定できる。ワークスペースの一覧を空にするとChatGPTでのログインが使えなくなる | 管理者 |
| ワークスペースの所属と席 | ワークスペースへの所属と登録がログインできる人を決め、席と役割が使える入口と機能を決める | ワークスペースの管理者 |
| 社内のTLSプロキシ | 独自のルート証明書を使うネットワークでは、ログインの前にCODEX_CA_CERTIFICATEでPEM形式の証明書の束を指定する。未設定ならSSL_CERT_FILEを使う | 利用者(証明書の場所は社内の担当に確認) |
| 環境が認証を決めている | ワークロードIDが選ばれている環境では、codex loginとcodex logoutは拒否される | その環境を用意した担当者 |
社内のTLSプロキシを使う場合の設定は、公式資料の例では次のとおりです。証明書のパスは社内の担当に確認したものに置き換えます。
export CODEX_CA_CERTIFICATE=/path/to/corporate-root-ca.pem
codex login
ログイン情報の保存先と扱い
Codexは、ChatGPTとAPIキーのどちらでログインした場合も、ログイン情報を端末に保存して次回も使います。保存先は、~/.codex/auth.jsonという平文のファイルか、OSの資格情報ストアです。CLIの保存先は、設定ファイルのcli_auth_credentials_storeで選べます。
# file | keyring | auto | ephemeral
cli_auth_credentials_store = "keyring"
| 値 | 保存のしかた |
|---|---|
file | Codexのホーム(既定は~/.codex)のauth.jsonに保存する |
keyring | OSの資格情報ストアに保存する。使えない環境では失敗する |
auto | OSの資格情報ストアが使えればそこへ、使えなければauth.jsonへ保存する |
ephemeral | 実行中のプロセスのメモリにだけ持ち、保存しない |
auth.jsonにはアクセストークンが入っています。公式資料は、このファイルをパスワードと同じように扱い、リポジトリへのコミット、サポートへの問い合わせへの貼り付け、チャットでの共有をしないよう求めています。管理者が保存先を固定している場合は、利用者の設定ファイルやコマンドの指定では変えられません。
Windowsでは、公式資料のWindowsアプリのページによると、ChatGPTデスクトップアプリとWindowsで動かすCodexは%USERPROFILE%\.codexを使います。WSLの中でCLIを動かすと、Linux側のホームを使うため、アプリとはログイン情報が共有されません。共有のしかたはCodexをWindowsで使う方法で説明しています。
症状別に見るCodexのログインの確認順
症状ごとに、最初に確かめることと次の行動を表にまとめました。症状の分け方は編集部の整理で、確かめる内容は上の節で引用した公式資料の記載によります。
| 起こり得ること | 最初に確かめること | 次の行動 |
|---|---|---|
| CLIでブラウザが開かない・戻ってこない | リモートや画面の無い環境か、localhostへの戻り先がふさがれていないか | デバイスコードを使う。使えなければauth.jsonのコピーかSSHの転送 |
| 「Token exchange failed」などのエラーが出る | エラー文の意味は公式資料に記載がない | localhostの戻り先、社内の証明書(CODEX_CA_CERTIFICATE)、codex-login.logを確かめる |
| ログイン直後に終了する | 会社がログインの方法かワークスペースを指定していないか | 指定された方法とワークスペースでログインし直す |
| 意図しないアカウントで動いている | アプリ・IDE拡張はプロフィールのメニュー。CLIはアカウントを表示する方法の記載がなく、codex login statusは方式だけを表示 | ログアウトしてから正しいアカウントでログインし直す |
| Codex cloudだけ使えない | APIキーでログインしていないか、MFAの条件 | ChatGPTでログインし、必要ならMFAを設定する |
| 社内ネットワークで証明書のエラーが出る | 社内のTLSプロキシを通っているか | CODEX_CA_CERTIFICATEを指定してからログインする |
| WSLだけログインし直しを求められる | WSLとWindowsでCodexのホームが分かれていないか | CODEX_HOMEでWindows側のホームを指す |
原因がわからない場合は、CLIのログを確かめます。codex loginを直接実行すると、ログのフォルダにcodex-login.logが書き出されます。ログのフォルダは設定のlog_dirで決まり、既定は$CODEX_HOME/log(通常は~/.codex/log)です。ブラウザでのログインやデバイスコードの失敗を調べる時や、サポートからログインのログを求められた時に使うファイルです。公式のTroubleshootingは、ログを共有する前に機微な情報が含まれていないかを確かめるよう案内しています。サポートに相談する前には、codex doctorで、認証を含むインストール・設定などの状態を点検したレポートも作れます。
ログイン以外の理由でCodexが止まった・動かない場合は、Codexのエラー・動かない時の対処の「症状ごとに確認先を分ける」で、症状ごとの確認先を説明しています。
まとめ:Codexのログインは方式を決め、状態を確かめてから使う
- ログイン方法は、プランの利用枠を使うChatGPTと、APIの料金で払うAPIキーの2つ。Codex cloudはChatGPTでのログインが必要。
- CLIは
codex loginで始め、codex login statusで認証の方法を確かめ、codex logoutでログアウトする。アカウントは、アプリ・IDE拡張・Webのそれぞれのプロフィールのメニューで見る。 - CLIでブラウザが使えない環境では、まずデバイスコードを試し、使えなければログイン情報のファイルをコピーするか、SSHでlocalhostの戻り先を転送する。
- 会社の端末では、ログインの方法の指定、ワークスペースの所属、社内のTLSプロキシを先に確かめる。
auth.jsonはパスワードと同じように扱い、共有しない。
社内でCodexを使い始める時は、誰がどのログイン方法を使うか、APIキーを誰が発行して管理するかを先に決めておくと、利用枠と請求先の取り違えを防げます。





