You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
throw 'Codex config changed after proxy install, and the selected provider no longer points to the recorded proxy. The proxy was not stopped and files were not removed. Review ~/.codex/config.toml or rerun uninstall with --force if you want to restore the recorded backup.'
48
58
}
49
59
}
50
60
}
51
61
52
-
if (-not $deferred) {
62
+
if ((-not $deferred) -and (-not $confirmationRequired)) {
If the uninstall JSON includes `direct_upstream_auth_warning`, report it before telling the user to
72
-
restart Codex. This means Codex config has been restored to the direct third-party upstream, but the
73
-
current Codex auth state still looks like ChatGPT account login. Direct upstream mode no longer has
74
-
the proxy auth override, so model requests may send ChatGPT auth to the third-party provider and
75
-
fail with 401. Tell the user to switch Codex App back to API-key/third-party provider auth before
76
-
restarting, or keep the proxy enabled if they want ChatGPT-login UI with a third-party provider.
77
+
If the block printed `uninstall_confirmation_required=true`, no uninstall changes were applied.
78
+
Report `direct_upstream_auth_warning`, then ask the user whether they want to keep the proxy enabled
79
+
or explicitly continue uninstalling. Continue only after the user clearly accepts the ChatGPT-login
80
+
direct-upstream 401 risk; then rerun the manager with `--confirm-chatgpt-direct-uninstall`.
81
+
82
+
If the uninstall JSON has `status="uninstalled"` and includes `direct_upstream_auth_warning`, report
83
+
it before telling the user to restart Codex. This means Codex config has been restored to the direct
84
+
third-party upstream, but the current Codex auth state still looks like ChatGPT account login. Direct
85
+
upstream mode no longer has the proxy auth override, so model requests may send ChatGPT auth to the
86
+
third-party provider and fail with 401. Tell the user to switch Codex App back to
87
+
API-key/third-party provider auth before restarting, or keep the proxy enabled if they want
88
+
ChatGPT-login UI with a third-party provider.
77
89
78
90
When cleanup completed without `restart_required_before_cleanup=true`, explicitly tell the user:
79
91
@@ -87,7 +99,14 @@ If the block printed `restart_required_before_cleanup=true`, explicitly tell the
87
99
Codex config has been restored to direct upstream, and the proxy was left running temporarily to avoid interrupting the current process. Restart Codex App and return to this conversation, or open a new CLI process, then run uninstall again to finish cleanup.
88
100
```
89
101
90
-
If `direct_upstream_auth_warning` is present, add this before the restart instruction:
102
+
If the block printed `uninstall_confirmation_required=true`, explicitly tell the user:
103
+
104
+
```text
105
+
No uninstall changes were applied because ChatGPT login appears active and direct upstream mode may return 401. Keep the proxy enabled for ChatGPT-login UI with a third-party provider, switch Codex App back to API-key/third-party provider auth before uninstalling, or explicitly confirm that you want to continue uninstalling anyway.
106
+
```
107
+
108
+
If `status="uninstalled"` and `direct_upstream_auth_warning` is present, add this before the restart
109
+
instruction:
91
110
92
111
```text
93
112
Warning: ChatGPT login appears to be active. After uninstall restores direct upstream, requests no longer pass through the proxy upstream auth override. If Codex keeps using ChatGPT auth, the third-party provider may receive a ChatGPT token and return 401. Switch back to API-key/third-party provider auth before restarting, or keep the proxy enabled for ChatGPT-login UI with a third-party provider.
- Running Codex processes do not hot-switch provider config. After enable, restart Codex App and resume the same conversation if desired, or open a new CLI process.
115
115
- If the current process is already using the proxy, stopping the proxy can interrupt the conversation. Disable with `uninstall --defer-stop`, tell the user to restart Codex App or open a new CLI process, then run uninstall again to finish cleanup.
116
-
- If uninstall output includes `direct_upstream_auth_warning`, report it before any restart
116
+
- If uninstall output has `status="confirmation_required"`, no uninstall changes were applied.
117
+
Report `direct_upstream_auth_warning` first. Ask whether the user wants to keep the proxy enabled,
118
+
switch Codex App back to API-key/third-party provider auth before uninstalling, or explicitly
119
+
continue despite the ChatGPT-login direct-upstream 401 risk. Only after explicit confirmation,
120
+
rerun with `--confirm-chatgpt-direct-uninstall`.
121
+
- If confirmed uninstall output includes `direct_upstream_auth_warning`, report it before any restart
117
122
instruction. Restored direct upstream mode no longer has the proxy auth override; if Codex App
118
123
remains signed in with ChatGPT, a third-party provider may receive ChatGPT auth and return 401.
119
124
Tell the user to switch back to API-key/third-party provider auth before restarting, or keep the
- After a successful `install --start`, explicitly tell the user that Fast proxy is enabled, but the current Codex process will not hot-switch; they should restart Codex App and return to the conversation, or open a new CLI process.
165
170
- After a successful `install --start`, always append this optional ChatGPT-login UI note even if
166
171
the status summary is already long: the user may keep API-key mode for third-party API plus global Fast. If they want richer Codex App UI such as plugin marketplace, GitHub/Apps/connectors, manual Fast controls, status hints, and voice input, they should run `prepare-chatgpt-login` before switching Codex App to ChatGPT login; switching directly may cause 401.
167
-
- After `uninstall --defer-stop`, explicitly tell the user that Codex config has been restored to direct upstream, and the proxy was left running temporarily to avoid interrupting the current process. They should restart Codex App and return to the conversation, or open a new CLI process, then run uninstall again to finish cleanup.
168
-
- If `direct_upstream_auth_warning` is present after uninstall, first warn that ChatGPT login appears active. After direct upstream restore, requests no longer pass through the proxy upstream auth override. Keeping ChatGPT login may send ChatGPT auth to the third-party provider and return 401. The user should switch back to API-key/third-party provider auth before restarting, or keep the proxy enabled for ChatGPT-login UI with a third-party provider.
172
+
- After `uninstall --defer-stop` returns `status="confirmation_required"`, explicitly tell the user
173
+
no uninstall changes were applied because ChatGPT login appears active and direct upstream may
174
+
return 401. Do not tell the user to restart yet.
175
+
- After `uninstall --defer-stop` returns `status="uninstalled"`, explicitly tell the user that Codex
176
+
config has been restored to direct upstream, and the proxy was left running temporarily to avoid
177
+
interrupting the current process. They should restart Codex App and return to the conversation, or
178
+
open a new CLI process, then run uninstall again to finish cleanup.
179
+
- If `direct_upstream_auth_warning` is present after a confirmed uninstall, first warn that ChatGPT
180
+
login appears active. After direct upstream restore, requests no longer pass through the proxy
181
+
upstream auth override. Keeping ChatGPT login may send ChatGPT auth to the third-party provider
182
+
and return 401. The user should switch back to API-key/third-party provider auth before
183
+
restarting, or keep the proxy enabled for ChatGPT-login UI with a third-party provider.
169
184
170
185
Use `--provider <name>` only when the user names a provider or when `doctor` reports that no active provider can be selected.
171
186
@@ -235,4 +250,7 @@ For upstream URL changes after enable, prefer `set-upstream --upstream-base <url
235
250
latest saved benchmark summary and never starts benchmark runs.
236
251
-`uninstall` restores the full backup when the current config still matches the installed state.
237
252
- If the config changed but the selected provider still points to the local proxy, `uninstall` restores only that provider's `base_url` to `upstream_base` and preserves other config changes.
253
+
- If ChatGPT login is active and uninstall would newly restore direct upstream, `uninstall` returns
254
+
`status="confirmation_required"` before changing config, hooks, proxy process, or files unless
255
+
`--confirm-chatgpt-direct-uninstall` is explicit.
238
256
- If `uninstall` reports `config_restore="skipped_config_changed"`, do not delete the package or repo; the selected provider no longer points to the recorded proxy, so ask the user before using `--force`.
0 commit comments