| 1 | # Codex |
| 2 | |
| 3 | Use your ChatGPT plan or an existing Codex CLI login to code in T3 Code. |
| 4 | |
| 5 | ## Connect with ChatGPT |
| 6 | |
| 7 | Connect during onboarding or in **Settings → Providers**. For a remote machine, |
| 8 | select that environment first. T3 Code handles Codex installation; sign in on |
| 9 | OpenAI and allow sharing of your ChatGPT plan. |
| 10 | |
| 11 | Manage shared usage and credits in ChatGPT through **Manage usage** in T3 Code. |
| 12 | If a request uses a feature that ChatGPT sharing does not support, use another |
| 13 | provider for that request. |
| 14 | |
| 15 | When reconnecting, choose the same account in T3 Code and on OpenAI's sign-in |
| 16 | page. Disconnecting stops running threads but keeps their history and lets you |
| 17 | reconnect later. |
| 18 | |
| 19 | If remote sign-in cannot return automatically, paste the full URL from the final |
| 20 | localhost page into the sign-in panel, even if that page could not load. |
| 21 | |
| 22 | ## Use an existing Codex login |
| 23 | |
| 24 | T3 Code can use your installed Codex and its existing login. Run `codex login` |
| 25 | on the environment's machine to sign in. [Provider setup](./install.md#providers) |
| 26 | covers installation and custom configuration. |
| 27 | |
| 28 | ## Use multiple accounts |
| 29 | |
| 30 | Add another ChatGPT account in **Settings → Providers**, then select the account |
| 31 | from the thread's model picker. Compatible accounts can continue the same thread. |
| 32 | Connecting accounts through T3 Code leaves your CLI login unchanged. |
| 33 | |
| 34 | ### Multiple CLI logins |
| 35 | |
| 36 | A shared Codex home with a shadow home lets work and personal accounts continue |
| 37 | the same threads. The accounts share Codex sessions and configuration while keeping |
| 38 | their own login and available models. |
| 39 | |
| 40 | Keep your first account in `~/.codex`. On the environment's machine, sign the |
| 41 | second account into a fresh directory: |
| 42 | |
| 43 | ```bash |
| 44 | mkdir -p ~/.codex_personal |
| 45 | CODEX_HOME=~/.codex_personal codex login |
| 46 | ``` |
| 47 | |
| 48 | Then add a second Codex instance in **Settings > Providers**: |
| 49 | |
| 50 | | Instance | CODEX_HOME path | Shadow home path | |
| 51 | | -------------- | --------------- | ------------------- | |
| 52 | | Codex Work | `~/.codex` | Leave empty | |
| 53 | | Codex Personal | `~/.codex` | `~/.codex_personal` | |
| 54 | |
| 55 | Both instances must use the same **CODEX_HOME path**. T3 Code prepares the shared |
| 56 | state in the shadow directory; do not populate it by copying your whole Codex |
| 57 | home. |
| 58 | |
| 59 | The shadow account needs its own `auth.json` file. If Codex uses an OS credential |
| 60 | store, configure file storage for this setup. See |
| 61 | [OpenAI's credential storage guide](https://learn.chatgpt.com/docs/auth#credential-storage). |
| 62 | |
| 63 | Use a completely separate **CODEX_HOME path**, with no shadow home, when you want |
| 64 | separate Codex sessions and configuration. That instance cannot continue threads |
| 65 | from the other home. |
| 66 | |
| 67 | ## Switch accounts in an existing thread |
| 68 | |
| 69 | Choose the other account from the thread's model picker. T3 Code offers compatible |
| 70 | Codex instances that share the thread's **CODEX_HOME path**. Changing accounts does |
| 71 | not move the conversation into a separate Codex home. |
| 72 | |
| 73 | If the account is missing from the picker, compare the home paths in provider |
| 74 | settings. If two instances show the same unexpected account or models, check their |
| 75 | reported accounts, refresh provider status, and confirm the second instance has |
| 76 | its own shadow path and login. A shadow-home conflict usually means the directory |
| 77 | contains a copied Codex setup. Use a fresh shadow directory and sign in again. |
| 78 | |
| 79 | ## Answer questions while Codex works |
| 80 | |
| 81 | Codex can ask a question and keep working. Answer it in the thread's question |
| 82 | panel. The answer becomes a new message: it reaches the active turn, or starts |
| 83 | another turn if Codex has finished. Unanswered questions survive reconnects. |
| 84 | If you do not want to answer, dismiss the question from its panel. Dismissing |
| 85 | closes it without sending anything to Codex. This requires a Codex version that |
| 86 | supports async questions. |
| 87 | |
| 88 | ## Approve app access |
| 89 | |
| 90 | Codex tools can request access to another app. Respond to the named app's request |
| 91 | in the thread on web, desktop, or mobile. Some tools offer access for one request, |
| 92 | the current session, or permanently. See [Permission modes](./permission-modes.md) |
| 93 | for command and file approvals. |
| 94 | |
| 95 | ## Codex says I hit a usage limit |
| 96 | |
| 97 | When Codex stops on a usage limit, the thread names the window that ran out and |
| 98 | when it resets, when Codex reports them. Send the message again after the reset. On a workspace plan the |
| 99 | message also says whether your workspace owner needs to add credits or raise the |
| 100 | spend limit to continue sooner. |
| 101 | |
| 102 | ## Send feedback to OpenAI |
| 103 | |
| 104 | In an existing Codex thread, send `/feedback` with an optional description, for |
| 105 | example `/feedback The agent stopped before finishing the tests`. This uploads |
| 106 | the conversation and Codex logs to OpenAI. The returned thread ID can be shared |
| 107 | with OpenAI support. |