codex-multi-profile · git:20260928.98099b2 · 2026-09-28 · sha256 a75c76b8130028c4
codex-multi-profile git:20260928.98099b2A
Immutable. This exact content never changes and is served at /api/v1/blob/a75c76b8130028c4.
--- name: codex-multi-profile description: >- Several ChatGPT logins for the Microsoft Store Codex app on Windows. The account list lives in Codex's own avatar menu (switch, add, rename, remove); a CLI (CodexAccounts.ps1) does the same for agents. One saved auth.json per account, chats and settings in ~/.codex are shared. Use for Codex multi-account, wrong-account, switch-account or "account menu missing" questions. --- # Codex Multi-Profile (Windows, Store Codex) Unofficial helper for people with more than one **authorized** ChatGPT account. Not for account sharing or bypassing usage limits. ## How it works - Each account = a saved copy of `~\.codex\auth.json` in `%LOCALAPPDATA%\CodexMultiProfile\accounts\<name>\auth.json`. - The **Codex** shortcut runs `Start-CodexAccounts.ps1` (hidden): it starts the Store Codex inside its package with DevTools on `127.0.0.1:9333`, injects `switcher-inject.js` and stays as the bridge. - Avatar menu (bottom-left) → **Accounts**: click = switch (Codex restarts in a few seconds on that login), **Add account** (Codex reopens on the sign-in screen, the new login is saved under the chosen name), pencil = rename, trash = remove. `Ctrl+Alt+A` opens the menu, `1`-`9` pick an account. - While Codex runs, the live `auth.json` is copied back into the account in use (Codex rotates refresh tokens; a stale copy would stop working). ## CLI (agents) ```powershell $cli = "$env:LOCALAPPDATA\CodexMultiProfile\CodexAccounts.ps1" powershell -NoProfile -ExecutionPolicy Bypass -File $cli list # -Json for machine output powershell -NoProfile -ExecutionPolicy Bypass -File $cli status powershell -NoProfile -ExecutionPolicy Bypass -File $cli save -Name work # save the login in use powershell -NoProfile -ExecutionPolicy Bypass -File $cli switch -Name work powershell -NoProfile -ExecutionPolicy Bypass -File $cli rename -Name work -NewName job powershell -NoProfile -ExecutionPolicy Bypass -File $cli remove -Name old ``` `switch` closes Codex; tell the user before running it. ## Rules - Never print or copy tokens; emails are shown masked (`ab***@domain`). - Do not use Codex's own **Log out** to change accounts: it can invalidate that login's saved copy. Use the menu. - The menu only appears when Codex was opened from the **Codex** shortcut (the original Store icon starts Codex without the DevTools port). `status` says which one is running. - Log: `%LOCALAPPDATA%\CodexMultiProfile\codex-accounts.log` (masked).