Codexでアカウントを切り替える方法
CLIでは、サインアウトしてから再度サインインすることで切り替えます。
Codex CLI: 「codex login statusを実行して、アクティブな認証方法を確認します。」 codex logoutを実行して保存された認証情報をクリアし、次にcodex loginを実行して別のアカウントでサインインします。対話型セッション内では、/logoutでもサインアウトできます。
IDE拡張機能とデスクトップアプリ: OpenAIのドキュメントによると、プロフィールメニューを開いてアクティブなアカウントまたはAPIキーの状態を確認し、「Log out」を選択して現在の認証情報をクリアしてから再度サインインします。
ChatGPTサインインまたはAPIキー: ローカルのCodexでは両方が機能します。CLIのAPIキーによるサインインは、標準入力からキーを読み取ります。Codex cloudは異なり、「Codex cloudにはChatGPTでのサインインが必要です」とされています。
CLIと拡張機能は1つのログインを共有する
両方を使用している人を驚かせる詳細が1つあります。OpenAIは次のように述べています。「CLIと拡張機能は同じキャッシュされたログイン詳細を共有します。どちらか一方でログアウトすると、次にCLIまたは拡張機能を起動したときに再度サインインする必要があります。」 つまり、ターミナルでアカウントを切り替えると拡張機能も切り替わり、その逆も同様です。
ログイン情報の保存場所
「Codexはログイン詳細をローカルの ~/.codex/auth.json にあるプレーンテキストファイル、またはOS固有の認証情報ストアにキャッシュします。」 cli_auth_credentials_store 設定で、file、keyring、auto、または現在のプロセスのみメモリに認証情報を保持する ephemeral のいずれかを選択します。
ファイルに関するOpenAIの警告は繰り返す価値があります。~/.codex/auth.json にはアクセストークンが含まれているため、パスワードのように扱ってください。コミットしたり、チケットに貼り付けたり、チャットで共有したりしないでください。後述するように2つのアカウントを2つのhomeで保持する場合、これらのファイルも2つ持つことになります。
切り替え時にマシンに残るもの
ここがコンテキスト(context)にとって重要な部分です。Codexはローカルの状態を一箇所に保持します。OpenAIの環境変数リファレンスでは、CODEX_HOME を次のように説明しています。「設定、認証、ログ、セッション、スキル、およびスタンドアロンパッケージのメタデータを含む、Codexの状態のルートを設定します。」 デフォルトは ~/.codex です。
セッション履歴
「デフォルトでは、Codexはローカルセッションのトランスクリプトを CODEX_HOME(例:~/.codex/history.jsonl)の下に保存します。」 チャットはCodex home内のファイルです。別のアカウントにログインすると認証情報は変わりますが、このフォルダは変わりません。切り替え後にチャットが見当たらない場合は、見つからないCodexチャット履歴を探すためのガイドで他の確認場所を確認してください。
ローカルの記憶(memory)
「Codexは記憶をCodex homeディレクトリの下に保存します。」 新しいhomeでは、Codexはデフォルトで $CODEX_HOME/memories_v2/ を使用します。すでに $CODEX_HOME/memories/ があるhomeでは、引き続きそのストアを使用します。Codex memories v2に関するガイドで2つのストアについて解説しています。
デスクトップアプリのコントロールでは、記憶はマシンに属するものとして説明されています。「Enable Codex memories」は選択したマシンの機能をオンまたはオフにし、「Delete Codex memories」は「選択したマシンの記憶ストア」をリセットします。ドキュメントには、アカウントごとの記憶ストアについては記載されていません。
したがって、1つのCodex homeでアカウントを切り替える場合、OpenAIのドキュメントにそれらを分離する記載がないため、両方のアカウントが同じローカルの記憶と履歴を利用するものとして計画してください。
設定、指示、およびスキル
config.toml、グローバルな AGENTS.md、および個人のスキルも同じルールに従います。これらはアカウントではなく、Codex homeまたは独自のフォルダにあります。切り替えによってこれらが変わることはありません。
アカウントに属するもの
サインインによって変わるものもあります。
データ取り扱いと管理コントロール
OpenAIによると、サインイン方法によって適用される管理コントロールとデータ取り扱いポリシーが決まります。「ChatGPTでサインインすると、Codexの使用はChatGPTワークスペースの権限、ロールベースのアクセス制御(RBAC)、およびChatGPT Enterpriseの保持とレジデンシー設定に従います。」 また、「APIキーを使用する場合、使用法は代わりにAPI組織の保持とデータ共有設定に従います。」
請求もサインインに従います。APIキーを使用する場合、CodexはChatGPTプランに含まれるクレジットではなく、標準のAPI価格設定を使用します。
Codex cloudとワークスペースのコンテンツ
Codex cloudのタスクにはChatGPTのサインインが必要であり、ワークスペースの環境やリポジトリへのアクセスに対して実行されます。チャット、ファイル、または共有リソースが見つからないユーザーに対するOpenAIのエンタープライズ向けガイダンスは、その作業が作成されたワークスペースに切り替えることであり、「ワークスペースを切り替えてもコンテンツは転送されません」と付け加えています。
ChatGPTの記憶(memory)
ウェブ版のChatGPTには独自の記憶があります。OpenAIはこの2つを明確に区別しています。「ChatGPTウェブ版はChatGPTの記憶を使用しますが、ローカルのCodexクライアントは別のローカル記憶ストアとコントロールを使用します。」 したがって、Codexのローカルの記憶は、サインインしたどのアカウントのChatGPTの記憶とも異なるストアです。
切り替え後にCodexがログアウトさせる場合
管理された環境では、管理者が forced_login_method や forced_chatgpt_workspace_id を使用して、使用できるログイン方法やワークスペースを制限できます。OpenAIは、それ以外のものでサインインした場合に何が起こるかを説明しています。「アクティブな認証情報が構成された制限と一致しない場合、Codexはユーザーをログアウトさせて終了します。」
仕事用のマシンで個人のアカウントにログインした直後にCodexが終了する場合は、これらの設定を確認してください。これらはマシンの管理構成から提供されるため、どのアカウントを試しても適用されます。
2つのアカウントを分離する方法
仕事用と個人用のCodexで履歴と記憶を分けたい場合、ログアウトとログインを繰り返すことはドキュメントで推奨されている方法ではありません。代わりに、別のCodex homeを使用します。
OpenAIの指示ガイドには、「プロジェクト固有の自動化ユーザーなど、別のプロファイルが必要な場合は CODEX_HOME 環境変数を設定してください」とあります。2つ目のアカウントに対してCodexを別のディレクトリに向けると、そこから設定、認証情報、セッション、および記憶を読み取ります。環境変数リファレンスには、「設定する場合、ディレクトリはあらかじめ存在している必要があります」と付け加えられています。
知っておくべき3つの詳細:
- 設定プロファイルは別のhomeではない: Codexの
--profileオプションは、同じCodex home内のconfig.tomlの隣にあるプロファイルファイルを重ね合わせるものです。これは設定を変更しますが、そのhome内のセッションと記憶は同じままです。 - どのhomeにいるか確認する: OpenAIのトラブルシューティングのアドバイス:「Codexを起動する前に
echo $CODEX_HOMEを実行してください。」 CodexがAGENTS.mdのルールをスキップする場合のガイドでは、間違ったhomeが指示にどのような影響を与えるかを解説しています。 - 認証情報ストア: ドキュメントでは、各homeの直下に
auth.jsonがあると説明されています。代わりにOSの認証情報ストアを使用する場合は、homeを切り替えた後も各アカウントのログインが維持されているか確認してください。
1つのhomeを維持する場合:チャットごとに記憶を制御する
誰もが2つのhomeを望むわけではありません。1つのCodex homeでアカウントを切り替えるが、特定のチャットで共有のローカル記憶を利用したり、そこに追加したりしたくない場合、Codexにはチャットごとのコントロールがあります。
OpenAIによると、Codex CLIでは「対話型セッションで /memories を使用して、現在のチャットが既存のローカル記憶を使用できるか、または将来の記憶の入力になるかを制御できる」とのことです。ChatGPTデスクトップアプリにも同じコマンドがあります。ドキュメントには「チャットレベルの選択は、グローバルな記憶設定を変更しません」とあります。
これにより、中間的な道が開かれます。1つのhomeを維持し、共有記憶に反映させるべきではないアカウントのチャットでは、そのチャット内で記憶の使用と生成をオフにします。
また、外部コンテキストを使用するチャットの設定もあります。memories.disable_on_external_context は、MCPツール呼び出し、ウェブ検索、またはツール検索を使用したチャットを記憶生成から除外します。仕事用アカウントのチャットがMCPを通じて社内システムから情報を取得する場合、この設定によりそれらが記憶の入力になるのを防げます。
ローカルの記憶はデフォルトでオフになっているため、あなたやセットアップがオンにしない限り、これらは適用されません。デスクトップアプリの「Settings > Personalization」、または config.toml の [features] テーブルを確認してください。
よくある間違い
ログアウトとログインで、データがリセットされると期待すること。 認証情報は変わりますが、そのCodex home内のローカルセッション、記憶、および設定は残ります。
CLIのみサインアウトすること。 拡張機能は同じキャッシュされたログインを共有しているため、拡張機能もサインアウトされます。
アカウントを分けるために設定プロファイルを使用すること。 プロファイルは1つのhome内の設定を変更するだけです。代わりに別の CODEX_HOME を使用してください。
ChatGPTの記憶がCodexに引き継がれると期待すること。 ChatGPTウェブ版の記憶とローカルのCodexの記憶は別のストアです。
ワークスペースを切り替えるとクラウドの作業内容が付随してくると想定すること。 OpenAIは、ワークスペースを切り替えてもコンテンツは転送されないと述べています。
解決策:各アカウントで何を共有すべきか決定する
ステップ1:サインインしている内容を確認する
CLIで codex login status を実行するか、拡張機能やアプリでプロフィールメニューを開きます。アカウントと、ChatGPTサインインの場合はワークスペースをメモします。
ステップ2:homeを1つにするか2つにするか選ぶ
アカウント間でローカルの履歴と記憶を共有してもよい場合は、1つのCodex homeを維持し、ログアウトとログインで切り替えます。共有すべきでない場合は、2つ目のディレクトリを作成し、もう一方のアカウント用に CODEX_HOME をそのディレクトリに向けてCodexを起動します。
ステップ3:両方のアカウントに必要なものを書き出す
一部のコンテキストは、どのアカウントにも属さず、あなた自身に属します。コーディング規約、好み、長期的な作業に関する決定事項などです。永続的なプロジェクトルールはリポジトリの AGENTS.md に入れ、残りは自分で管理するメモに保持します。OpenAI自身のアドバイスも同様です。「記憶は、常に適用されなければならないルールの唯一のソースとしてではなく、役立つ想起レイヤーとして扱ってください。」
MemoryLakeでのセットアップ
Codex homeを分けることでアカウントを分離できますが、Codexに教えた内容も分断されてしまいます。ブランチの命名規則や実行すべきテストなど、両方で使いたい事実が、2回書かれることになったり、片方にしかなかったりすることになります。
MemoryLake は、それらの事実を1か所で管理し、ChatGPT、Claude Code、Codexなど、接続したアシスタントから利用できるようにするための記憶レイヤーです。
エントリは自分の言葉で自分で書きます。Codex home、auth.json、セッション履歴、ローカルのCodexの記憶、ChatGPTの記憶、あるいはベンダーのストアから何かが読み取られたり、書き込まれたり、削除されたりすることはありません。Codexのログインと記憶は、OpenAIが説明している通りに機能し続けます。
ステップ1:APIキーを作成する
サインインしてダッシュボードからキーを生成します。このキーはMemoryLakeワークスペースに属し、OpenAIアカウントとは別物です。

ステップ2:最初の記憶をアップロードする
解決策のステップ3で作成したメモ(両方のアカウントに必要な規約や決定事項)から始めます。1エントリにつき1項目とし、仕事の内容については事前に会社のポリシーを確認してください。

ステップ3:AIとエージェントを接続する
使用している各セットアップでCodexを接続し、他のアシスタントも接続します。どのアカウントでサインインしていても、同じエントリを利用できます。

実務で何が変わるか
第一の違いは、予測可能な切り替えができるようになることです。ログインは変わるがCodex homeは変わらないということを知っていれば、履歴の内容に驚くことはありません。
第二に、必要に応じてクリーンな分離ができることです。2つのhomeによってセッションと記憶を分け、共有したい事実はその両方の外側に置くことができます。
第三に、繰り返しの作業が減ることです。後でチャットをエクスポートしたり、新しくやり直したりする場合でも、CodexチャットのエクスポートガイドやCodexでの/clearと/newに関するガイドは、すでにあるメモから始めることができます。
Codexでのアカウント切り替えのベストプラクティス
まずアクティブなログインを確認する。 codex login status で使用中の方法が表示されます。
共有ログインを忘れない。 CLIと拡張機能は一緒にサインアウトされます。
分離には別のCODEX_HOMEを使用する。 設定プロファイルではセッションや記憶を分離できません。
先にディレクトリを作成する。 Codexはディレクトリが存在することを要求します。
auth.jsonをパスワードのように扱う。 アクセストークンが含まれています。
仕事用マシンでは管理制限を想定する。 一致しないログインはサインアウトされます。
共有ルールはAGENTS.mdに保持する。 記憶は想起レイヤーであり、ルールブックではありません。
結論
Codexでアカウントを切り替えると、認証情報と、それに付随するもの(データの取り扱い、管理コントロール、請求、クラウド作業へのアクセス)が変わります。しかし、OpenAIのドキュメントで設定、セッションのトランスクリプト、スキル、およびローカルの記憶が配置される場所とされているCodex homeは変わりません。
両方のアカウントでその履歴を共有できるなら、ログアウトとログインだけで十分です。共有すべきでない場合は、各アカウントに独自の CODEX_HOME を与え、両方で必要な事実はどちらの切り替えにも影響されない場所に保管してください。