+- Fixed an orphaned app-bind state that could leave `~/.codex/config.toml` pointing at the `codex-multi-auth-runtime-proxy` provider with no way to recover via the CLI. When app-bind rewrote the config but its state/backup files were later lost (cleanup, partial unbind, a marker-less re-run of first-run setup, or a crash), the config stayed bound while `getAppBindStatus` and `rotation unbind-app` — which inferred "bound" purely from the app-bind state files — reported "not configured" and refused to act. The official Codex CLI/Desktop was then routed to a dead proxy port with no automated fix. `unbindCodexAppRuntimeRotation` now self-heals: when there is no backup and no state but `config.toml` is still bound, it strips the proxy provider block, restores the top-level `model_provider` (falling back to `openai` when no original backup exists), and reports the recovery. `getAppBindStatus` now derives `bound` from the config when no state file is present and exposes an `unmanagedBind` flag, and `rotation status` surfaces "bound but unmanaged" with the `unbind-app` remedy instead of "not configured" (#614).
0 commit comments