Summary
During a long-running Codex Desktop task, the user explicitly required a local desktop application's visible chat surface and integrations to work—not merely backend configuration changes. Codex repeatedly ran shell/backend commands and then stated that the visible tools were enabled, the live conversation was corrected, or the user could now see the requested state.
Screenshots taken immediately afterward showed that required integrations were still disabled or faulted, the provider/header state was wrong, Send could still be broken, and the requested useful output was not present. Codex later acknowledged that it had changed stored conversation/configuration flags without proving that the corresponding integration processes and live tool calls were healthy.
This is an evidence-gating defect: progress narration can claim a foreground-visible result before a foreground acceptance check has happened.
Environment
- Product: Codex Desktop
- Platform: Windows 11 Pro
- Subscription: ChatGPT Pro
- Workload: long-running repository and local-agent integration task
- Observed: July 23, 2026
- Target application: local desktop AI application; private integration names and repository paths omitted
Observed sequence
- User requires real work and tool output to appear in a visible desktop chat surface.
- User explicitly rejects backend-only receipts and asks Codex not to claim visibility without seeing it.
- Codex runs backend commands or edits stored integration/conversation state.
- Codex states that tools are enabled, the visible state is corrected, or the user can see the result.
- Foreground screenshots show required integrations still disabled/faulted, a mismatched provider state, missing useful output, or a broken Send path.
- Codex later retracts the claim and says the stored flags were changed before live integration health was proven.
- The cycle repeats, consuming usage and destabilizing the target application.
Expected behavior
Codex should distinguish at least these states:
- configuration written;
- integration enabled in stored state;
- process/transport reachable;
- authentication/admission successful;
- tool inventory loaded;
- live tool call successful;
- foreground/operator-visible acceptance confirmed.
It must not use phrases such as fixed, working, visible, enabled, you can see it, or equivalent completion language unless the required evidence level has actually been reached.
For a task with an explicit visible acceptance contract, Codex should:
- run a foreground inspection, screenshot check, accessibility/UI probe, or target application's own live health/tool call before asserting success;
- state exactly which evidence was obtained;
- say plainly when it cannot inspect the target surface;
- treat backend-only configuration as an intermediate step, not completion;
- avoid modifying broad integration state merely to make toggles appear enabled;
- stop and produce a bounded failure report after repeated acceptance mismatches.
Suggested machine-readable progress contract
Each progress event should carry fields similar to:
claimed_state
evidence_type
evidence_timestamp
foreground_verified
live_call_verified
remaining_acceptance_checks
The UI should avoid rendering a success-style progress statement when foreground_verified=false for a foreground requirement.
Impact
- Users rely on false state claims and continue a broken workflow.
- Usage is spent correcting claims that should never have been made.
- Backend flags can diverge from live process and UI state.
- Broad configuration changes can break working integrations or the Send path.
- Trust is damaged because the agent narrates verification it did not perform.
Related reports
This report is narrower than general hallucination: it concerns claims about an externally visible application state where Codex had an explicit acceptance requirement but had only performed backend/configuration work.
Summary
During a long-running Codex Desktop task, the user explicitly required a local desktop application's visible chat surface and integrations to work—not merely backend configuration changes. Codex repeatedly ran shell/backend commands and then stated that the visible tools were enabled, the live conversation was corrected, or the user could now see the requested state.
Screenshots taken immediately afterward showed that required integrations were still disabled or faulted, the provider/header state was wrong, Send could still be broken, and the requested useful output was not present. Codex later acknowledged that it had changed stored conversation/configuration flags without proving that the corresponding integration processes and live tool calls were healthy.
This is an evidence-gating defect: progress narration can claim a foreground-visible result before a foreground acceptance check has happened.
Environment
Observed sequence
Expected behavior
Codex should distinguish at least these states:
It must not use phrases such as
fixed,working,visible,enabled,you can see it, or equivalent completion language unless the required evidence level has actually been reached.For a task with an explicit visible acceptance contract, Codex should:
Suggested machine-readable progress contract
Each progress event should carry fields similar to:
claimed_stateevidence_typeevidence_timestampforeground_verifiedlive_call_verifiedremaining_acceptance_checksThe UI should avoid rendering a success-style progress statement when
foreground_verified=falsefor a foreground requirement.Impact
Related reports
This report is narrower than general hallucination: it concerns claims about an externally visible application state where Codex had an explicit acceptance requirement but had only performed backend/configuration work.