Skip to content

iOS Connections edit mode has no delete option for stale CLI Codex connection #22701

@johnsilvavlogs

Description

@johnsilvavlogs

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

  1. Before or during the native Codex Desktop mobile integration, enroll a Mac through the experimental/headless CLI path, for example codex remote-control.
  2. Later connect the same Mac through the native Codex Desktop integration.
  3. Open ChatGPT iOS -> Codex -> Connections.
  4. Observe both Codex Desktop and CLI entries.
  5. Tap Edit.
  6. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingiOSIssues related to the Codex iOS app

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions