会社用と個人開発の両方でCodex CLIを使う著者が、設定ファイルやMCPサーバー設定、セッション履歴が混在してしまう課題を、CODEX_HOME環境変数で解決する方法を紹介しています。デフォルトの~/.codexではなく、~/.codex-workと~/.codex-privateという別ディレクトリに分離する仕組みです。
PowerShellの$PROFILEにcodex-workという関数を追加し、実行時だけCODEX_HOMEを一時的に切り替える実装例が示されています。これによりconfig.toml、AGENTS.md、auth.json、セッション履歴が用途別に分離されますが、認証情報を完全に分けるには各環境で個別のログインが必要とのことです。
著者は、同一環境内での設定切り替えには--profileオプション、環境そのものを分けたい場合はCODEX_HOME分離、という使い分けを提案しています。
出典が伝えている要点
- 著者は会社用と個人開発の両方でCodex CLIを使用している
- 著者はCodex CLIの利用において設定ファイル・MCPサーバー・セッション履歴が混在するという課題に直面していた
- 解決策はCODEX_HOME環境変数を活用するものである
- デフォルトのCodexホームディレクトリは~/.codexである
- この方法では~/.codex-workと~/.codex-privateという2つのディレクトリに分離する
- PowerShellの$PROFILEにcodex-workという関数を追加する実装例が示されている
- その関数は環境変数CODEX_HOMEを一時的に$HOME\.codex-workに設定してcodexコマンドを実行し、実行後に元の値に戻す
- New-Item -ItemType Directoryコマンドで$HOME\.codex-workと$HOME\.codex-privateのディレクトリを作成する
- CODEX_HOME分離によりconfig.toml、AGENTS.md、auth.json、セッション・履歴が用途別に分離できる
- 著者は「保存先を分けても、同じOSユーザーで使う共通設定は統合される」と注釈している
- 認証情報を完全に分離するには各環境で個別のログイン操作(codex-work login)が必要である
- --profileオプションは同一環境内での設定切り替え向けであり、CODEX_HOME分離は大きな環境単位の分割向けであるという使い分けが示されている
原文より
保存先を分けても、同じOSユーザーで使う共通設定は統合される
出典: zenn.dev