What version of Codex CLI is running?
codex-cli 0.130.0
What platform is your computer?
macOS 26.3, build 25D125
Codex Desktop app:
CFBundleShortVersionString: 26.513.20950
CFBundleVersion: 2816
What issue are you seeing?
In the ChatGPT iOS app, under Codex -> Connections, a stale legacy CLI connection remains visible after moving to the native Codex Desktop integration. The CLI row can be toggled off, but entering Edit mode does not expose any delete/remove affordance for that row.
This leaves users with no visible way to remove old experimental/headless CLI remote-control connections after the native desktop integration is working.
Why this matters
The current UI makes the stale CLI entry look like an active or still-configured access path, even when local cleanup has removed the old bridge/process/config. It creates uncertainty about whether there are SSH/CLI leftovers or hidden remote-control access still present.
In this case, local cleanup verified:
- No
codex remote-control process was running.
- No matching Codex remote-control LaunchAgent/LaunchDaemon remained.
- No SSH/tunnel helper was present.
~/.codex/config.toml no longer contained remote_control.
- Local
remote_control_enrollments could be cleaned to leave only the native Codex Desktop row.
- Both
state_5.sqlite and logs_2.sqlite passed pragma integrity_check.
Despite this, the iOS UI originally still showed the stale CLI connection and provided no obvious delete path in Edit mode.
Reproduction
- Before or during the native Codex Desktop mobile integration, enroll a Mac through the experimental/headless CLI path, for example
codex remote-control.
- Later connect the same Mac through the native
Codex Desktop integration.
- Open ChatGPT iOS -> Codex -> Connections.
- Observe both
Codex Desktop and CLI entries.
- Tap
Edit.
- Try to remove the stale
CLI entry.
Expected behavior
Edit mode should expose a delete/remove/disconnect-for-this-entry action for stale or disabled CLI connections, or there should be a documented cleanup flow from the mobile UI.
Actual behavior
Edit mode does not show a delete/remove option for the stale CLI connection. The only obvious global action is Disconnect All, which is too broad because it would also disconnect the working native Codex Desktop connection.
Related context
This is related to, but distinct from, #22693. That issue covers a stale Codex run failed banner after bridge restart. This issue is specifically about stale connection management in the iOS Connections UI.
I am not attaching the screenshot here because it contains a personal local hostname, but the screenshot shows:
Codex Desktop connection enabled for the Mac hostname.
CLI connection disabled for the same Mac hostname.
Edit button present.
Disconnect All button present.
- No delete affordance visible for the
CLI row.
What version of Codex CLI is running?
codex-cli 0.130.0What platform is your computer?
macOS 26.3, build 25D125
Codex Desktop app:
CFBundleShortVersionString:26.513.20950CFBundleVersion:2816What issue are you seeing?
In the ChatGPT iOS app, under Codex -> Connections, a stale legacy
CLIconnection remains visible after moving to the nativeCodex Desktopintegration. TheCLIrow can be toggled off, but enteringEditmode does not expose any delete/remove affordance for that row.This leaves users with no visible way to remove old experimental/headless CLI remote-control connections after the native desktop integration is working.
Why this matters
The current UI makes the stale
CLIentry look like an active or still-configured access path, even when local cleanup has removed the old bridge/process/config. It creates uncertainty about whether there are SSH/CLI leftovers or hidden remote-control access still present.In this case, local cleanup verified:
codex remote-controlprocess was running.~/.codex/config.tomlno longer containedremote_control.remote_control_enrollmentscould be cleaned to leave only the nativeCodex Desktoprow.state_5.sqliteandlogs_2.sqlitepassedpragma integrity_check.Despite this, the iOS UI originally still showed the stale
CLIconnection and provided no obvious delete path inEditmode.Reproduction
codex remote-control.Codex Desktopintegration.Codex DesktopandCLIentries.Edit.CLIentry.Expected behavior
Editmode should expose a delete/remove/disconnect-for-this-entry action for stale or disabledCLIconnections, or there should be a documented cleanup flow from the mobile UI.Actual behavior
Editmode does not show a delete/remove option for the staleCLIconnection. The only obvious global action isDisconnect All, which is too broad because it would also disconnect the working nativeCodex Desktopconnection.Related context
This is related to, but distinct from, #22693. That issue covers a stale
Codex run failedbanner after bridge restart. This issue is specifically about stale connection management in the iOS Connections UI.I am not attaching the screenshot here because it contains a personal local hostname, but the screenshot shows:
Codex Desktopconnection enabled for the Mac hostname.CLIconnection disabled for the same Mac hostname.Editbutton present.Disconnect Allbutton present.CLIrow.