Codex mobile loses remote task/goal state: missed approvals, stale progress, and stop does not pause active goal
Open 💬 1 comment Opened Jun 1, 2026 by ayalshachar
What version of the Codex App are you using (From “About Codex” dialog)?
26.527.31326
What subscription do you have?
Pro
What platform is your computer?
macOS – Darwin 25.5.0 x86_64 i386
What issue are you seeing?
Codex mobile remote control is not maintaining a reliable, actionable state for desktop Codex runs.
There are three related failure modes:
- Approval-needed states are not persistently surfaced on mobile. If the mobile app is backgrounded, on another chat, or otherwise not actively focused on the running Codex thread, I can miss approvals entirely. The desktop task then sits blocked waiting for approval, while mobile gives me no durable attention state.
- Mobile can show stale task progress after desktop completion. In one observed case, the desktop app rendered the final answer and the local transcript recorded
task_complete, but mobile still showed0 of 5 tasks completed.
- Mobile does not expose active goal pursuit correctly. In one thread, the desktop/backend created an active goal and began goal-continuation turns. Mobile appeared to show ordinary task execution rather than a distinct goal-pursuit state. When I tapped stop on mobile, it aborted one generated turn but did not pause the active goal. The goal remained active and Codex started another continuation turn without additional user input. On desktop, I could see and pause the goal.
What steps can reproduce the bug?
Repro A: stale progress / missing durable state
- Pair Codex desktop with ChatGPT mobile Codex remote control.
- Start a long-running desktop Codex task.
- Open the same task from ChatGPT mobile.
- Background the mobile app, switch to another app/chat, or leave the Codex thread inactive.
- Let the desktop task either complete or reach an approval-needed state.
- Reopen mobile and inspect the task state.
- Compare mobile state with the desktop UI and local
~/.codex/sessions/**.jsonltranscript.
Failure: desktop shows approval or final output, but mobile has no persistent notification/badge/attention state, or mobile shows stale progress such as 0 of 5.
Repro B: active goal cannot be paused/stopped from mobile
- In a desktop Codex thread, create or enter an active goal-pursuit state.
- Open that same thread from ChatGPT mobile.
- Observe whether mobile clearly shows that the thread is pursuing an active goal, not just ordinary task execution.
- Tap stop from mobile while the goal is producing continuation turns.
- Inspect whether the active goal itself is paused/stopped, or whether only the current turn is aborted.
- Compare with desktop, where the goal state and pause control are visible.
Failure: mobile aborts a single turn, leaves the goal active, and a new continuation turn starts without new user input.
What is the expected behavior?
Codex mobile should expose the same actionable remote state as desktop:
- Persistent push or notification-center entry when a task needs approval.
- Persistent in-app attention state until approval/completion/failure is handled.
- Accurate progress/completion state after mobile backgrounding or reconnect.
- App icon badge or ChatGPT/Codex menu badge for pending Codex attention.
- Clear distinction between ordinary task execution and active goal pursuit.
- Mobile stop/pause controls should affect the active goal, not just the current generated turn, or the UI should clearly distinguish
stop current turnfrompause goal. - Remote state should not depend on focusing the desktop Codex window.
Additional information
Relevant local config:
approval_policy = "on-request"
approvals_reviewer = "user"
[desktop]
keepRemoteControlAwakeWhilePluggedIn = true
preventSleepWhileRunning = true
Power/local-notification notes:
- The Mac was not locked during the stale mobile progress observation.
- Codex App Nap was disabled:
defaults read com.openai.codex NSAppSleepDisabledreturned1. - Codex held a
NoIdleSleepAssertionnamedElectron. - Desktop notification sound works locally through Codex
notifyconfig, so the issue is not simply local desktop notifications being disabled.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗