Open History to see the last commit
1# Codex
2
3Use your ChatGPT plan or an existing Codex CLI login to code in T3 Code.
4
5## Connect with ChatGPT
6
7Connect during onboarding or in **Settings → Providers**. For a remote machine,
8select that environment first. T3 Code handles Codex installation; sign in on
9OpenAI and allow sharing of your ChatGPT plan.
10
11Manage shared usage and credits in ChatGPT through **Manage usage** in T3 Code.
12If a request uses a feature that ChatGPT sharing does not support, use another
13provider for that request.
14
15Fast and Ultrafast speeds are unavailable with this connection. To use the speed
16options your account supports, [use an existing Codex login](#use-an-existing-codex-login).
17
18When reconnecting, choose the same account in T3 Code and on OpenAI's sign-in
19page. Disconnecting stops running threads but keeps their history and lets you
20reconnect later.
21
22If remote sign-in cannot return automatically, paste the full URL from the final
23localhost page into the sign-in panel, even if that page could not load.
24
25## Use an existing Codex login
26
27T3 Code can use your installed Codex and its existing login. Run `codex login`
28on the environment's machine to sign in. [Provider setup](./install.md#providers)
29covers installation and custom configuration.
30
31Running `codex login` does not change a managed ChatGPT connection. In
32**Settings > Providers**, add a Codex instance, choose **Configure manually**,
33and complete the wizard. Then select that instance from the thread's model
34picker. See [Use multiple accounts](#use-multiple-accounts).
35
36## Allow more time for provider checks
37
38If an authenticated Codex installation reports “Timed out while checking Codex
39app-server provider status,” set `T3CODE_CODEX_PROBE_TIMEOUT_MS=60000` in the
40T3 server's environment and restart it. See [Provider check timeouts](./install.md#provider-check-timeouts)
41for configuration and other providers.
42
43## Generate images
44
45Codex can generate images directly in a T3 Code thread when your Codex version,
46model, and account support native image generation.
47
48If Codex reports that its image tool is unavailable, image generation may be
49disabled in its configuration. In **Settings → Providers**, edit your existing
50Codex provider and add this to **Launch arguments**, keeping any other arguments:
51
52```text
53-c features.image_generation=true
54```
55
56This enables the feature for that T3 Code provider without changing your shared
57Codex configuration. You do not need another provider instance or a separate image
58API key. The flag does not add image support to an unsupported model or account.
59
60Launch arguments apply to Codex sessions started after you save them. Start a new
61thread with the same Codex provider and ask it to generate an image. The completed
62image appears in the thread.
63
64## Use multiple accounts
65
66Add another ChatGPT account in **Settings → Providers**, then select the account
67from the thread's model picker. Compatible accounts can continue the same thread.
68Connecting accounts through T3 Code leaves your CLI login unchanged.
69
70### Multiple CLI logins
71
72A shared Codex home with a shadow home lets work and personal accounts continue
73the same threads. The accounts share Codex sessions and configuration while keeping
74their own login and available models.
75
76Keep your first account in `~/.codex`. On the environment's machine, sign the
77second account into a fresh directory:
78
79```bash
80mkdir -p ~/.codex_personal
81CODEX_HOME=~/.codex_personal codex login
82```
83
84Then add a second Codex instance in **Settings > Providers**:
85
86| Instance | CODEX_HOME path | Shadow home path |
87| -------------- | --------------- | ------------------- |
88| Codex Work | `~/.codex` | Leave empty |
89| Codex Personal | `~/.codex` | `~/.codex_personal` |
90
91Both instances must use the same **CODEX_HOME path**. T3 Code prepares the shared
92state in the shadow directory; do not populate it by copying your whole Codex
93home.
94
95The shadow account needs its own `auth.json` file. If Codex uses an OS credential
96store, configure file storage for this setup. See
97[OpenAI's credential storage guide](https://learn.chatgpt.com/docs/auth#credential-storage).
98
99Use a completely separate **CODEX_HOME path**, with no shadow home, when you want
100separate Codex sessions and configuration. That instance cannot continue threads
101from the other home.
102
103## Switch accounts in an existing thread
104
105Choose the other account from the thread's model picker. T3 Code offers compatible
106Codex instances that share the thread's **CODEX_HOME path**. Changing accounts does
107not move the conversation into a separate Codex home.
108
109If the account is missing from the picker, compare the home paths in provider
110settings. If two instances show the same unexpected account or models, check their
111reported accounts, refresh provider status, and confirm the second instance has
112its own shadow path and login. A shadow-home conflict usually means the directory
113contains a copied Codex setup. Use a fresh shadow directory and sign in again.
114
115## Answer questions while Codex works
116
117Codex can ask a question and keep working. Answer it in the thread's question
118panel. The answer becomes a new message: it reaches the active turn, or starts
119another turn if Codex has finished. Unanswered questions survive reconnects.
120If you do not want to answer, dismiss the question from its panel. Dismissing
121closes it without sending anything to Codex. This requires a Codex version that
122supports async questions.
123
124## Approve app access
125
126Codex tools can request access to another app. Respond to the named app's request
127in the thread on web, desktop, or mobile. Some tools offer access for one request,
128the current session, or permanently. See [Permission modes](./permission-modes.md)
129for command and file approvals.
130
131## Use Daybreak
132
133Models with cyber access programs show a Cyber Access option in the model
134options. It starts on Standard, or on Daybreak when `config.toml` in your Codex
135home sets `daybreak = true` or the model only runs under Daybreak. Your choice carries
136over to new threads. Custom models do not offer it. If Codex rejects a turn
137because your login lacks the program, switch Cyber Access back to Standard or
138sign in to Codex with an account that has it.
139
140## Codex says I hit a usage limit
141
142When Codex stops on a usage limit, the thread names the window that ran out and
143when it resets, when Codex reports them. Send the message again after the reset. On a workspace plan the
144message also says whether your workspace owner needs to add credits or raise the
145spend limit to continue sooner.
146
147## Send feedback to OpenAI
148
149In an existing Codex thread, send `/feedback` with an optional description, for
150example `/feedback The agent stopped before finishing the tests`. This uploads
151the conversation and Codex logs to OpenAI. The returned thread ID can be shared
152with OpenAI support.