Android Remote reconnect removes Notion/codex_apps tools from resumed chat; full Codex restart restores them
What version of the Codex App are you using?
Codex App 26.715.8383.0 when the instrumented reproduction occurred.
The installed Microsoft Store package has since updated to 26.721.4979.0. The captured evidence below is from the running 26.715.8383.0 process.
Bundled WSL Codex CLI observed during follow-up diagnostics: 0.146.0-alpha.3.1.
What subscription do you have?
ChatGPT Pro
What platform is your computer?
Microsoft Windows NT 10.0.26200.0 x64
Codex Desktop using its WSL app-server runtime
Remote controller:
ChatGPT for Android
Android device, OS version, and ChatGPT build were not captured.
What issue are you seeing?
The Notion connector works normally in a Codex Desktop chat and through the same chat using Android Remote. After the Android Remote connection drops and reconnects, Notion disappears from the resumed chat's tool catalog.
The affected chat also lacks Notion when reopened on Desktop. Fully quitting and restarting Codex Desktop restores Notion without reauthorizing the connector.
This appears to be a Remote thread/configuration hydration problem rather than a Notion authentication failure.
During an instrumented reproduction:
- Before disconnect, Notion was available and
mcp__codex_apps__notion_fetchcompleted successfully. - The original chat catalog contained 4 MCP servers and 151 tools.
- After Remote reconnected, the host plugin catalog successfully recovered to 4 MCP servers and 154 tools.
- The resumed execution context repeatedly contained only 2 MCP servers and 5 tools.
- Directly invoking the previously available Notion function failed because the function was no longer registered.
- Tool search returned no Notion tools.
- Repeated catalog rebuilds did not restore the connector.
- Fully restarting Codex restored Notion using the existing authorization.
Observed error:
TypeError: tools.mcp__codex_apps__notion_fetch is not a function
Tool-discovery result after reconnection:
Notion tools: []
MCP server count: 2
Available tool count: 5
The logs also contain Remote WebSocket disconnects where the connection cycle ends while the reported status is still Connected. This suggests a stale Remote transport/session state may be the trigger.
No Notion OAuth prompt appears after restarting Codex, and no reauthorization is required.
What steps can reproduce the bug?
- Start Codex Desktop on Windows.
- Ensure the Notion connector is authorized.
- Open a desktop chat and successfully use a Notion tool.
- Open the same host and chat through ChatGPT Remote on Android.
- Continue using the chat remotely.
- Cause or wait for the Android Remote connection to close, for example by backgrounding ChatGPT or transitioning networks.
- Reconnect to the host and continue the chat.
- Request another Notion operation.
- Observe that Notion is absent from tool discovery and cannot be called.
- Open the affected chat on Codex Desktop.
- Observe that Notion remains unavailable there.
- Fully quit and restart Codex Desktop.
- Reopen the chat and observe that Notion is available again without reauthorization.
The connection-loss trigger is intermittent, but once the connector disappears, reconnecting Android alone does not restore it.
Relevant session IDs:
Original chat context: 019f9731-486b-7313-b5d2-53310d4fb716
Reduced-catalog context: 019f9779-75aa-7d03-8562-4025c89a6b1a
Relevant UTC timeline:
2026-07-25 03:26:18 - Remote connection closed (connection ID 11)
2026-07-25 04:06:12 - New Remote initialize (connection ID 12)
2026-07-25 04:06:16 - Remote plugin/list request
2026-07-25 04:06:17 - Host reports 4 MCP servers and 154 tools
2026-07-25 04:18:19 onward - Resumed context repeatedly reports 2 MCP servers and 5 tools
What is the expected behavior?
A Remote disconnect or reconnect must not remove host-provided connectors from a chat.
After reconnection:
- The resumed chat should retain or reconstruct its Notion/
codex_appsbinding. - Notion should remain available from both Android Remote and Codex Desktop.
- Codex should not accept a new turn until the host connector catalog is hydrated.
- A failed refresh should preserve the last known-good connector catalog.
- Recovery should not require restarting the entire Codex application.
This is also consistent with the documented Remote behavior: the connected host supplies the session's credentials, plugins, MCP servers, and tools.
Additional information
Likely failure boundary:
Android Remote connection closes
-> Remote reconnects and initializes successfully
-> Host plugin catalog becomes healthy
-> Resumed chat retains/reconstructs only its base MCP configuration
-> codex_apps/Notion binding is missing
-> Full Codex restart rebuilds the chat/tool runtime and restores Notion
The evidence rules against Notion OAuth revocation:
- Notion worked immediately before the Remote disconnect.
- Authorization persisted.
- No authentication error was returned.
- Restarting Codex restored the connector without authorization.
Possible corrective actions:
- Preserve app bindings during Remote transport teardown.
- On Remote reconnect or
thread/resume, force-refresh installed apps before accepting a turn. - Reconcile the hosted
codex_appsMCP server into the resumed thread. - Rebuild deferred tool-search indexes after reconciliation.
- Reject or retry catalog regressions such as 151 tools becoming 5.
- Provide a supported "Reload connectors" action so users do not need a full restart.
- Add a regression test covering Desktop + Android Remote + Notion across disconnect/reconnect.
Related but not duplicate reports:
- #24179: Remote Control goes offline while desktop WebSocket remains active
- #24024: Remote Control becomes stale after idle/network changes
- #21995:
codex_appsconnectors fail to initialize in scheduled automation
No credentials, Notion workspace identifiers, prompts, or document contents are included in this report.
3 Comments
Potential duplicates detected. Please review them and close your issue if it is a duplicate.
Powered by Codex Action
Additional controlled reproduction: later-created task lacks an already-authorized
codex_appsconnectorThis appears to be the same missing per-task
codex_appsbinding / tool-catalog hydration failure, but I did not isolate an Android Remote reconnect as the trigger.Environment
26.721.4979.0plugin://app-69bc11db874881918718abaca20b68ce@openai-curated-remoteWorking control task
2026-07-14T14:26:40.293Zcodex-cli 0.144.0-alpha.4mcp__codex_apps__interactive_brokers__ibkr__*isError=false.Affected task
2026-07-27T10:04:17.953Zcodex-cli 0.146.0-alpha.3.1TypeError: tools.<exact codex_apps function> is not a functionThis creation order rules out “the affected task predates plugin installation” as an explanation. It also conflicts with the documented expectation that installed plugins can add connector/MCP tools to new chats. An explicit plugin mention did not repair or rehydrate the task.
Interpretation
The working host/account authorization is healthy, while the affected task lacks the connector binding or deferred-tool index. This looks like a per-task catalog hydration/provisioning defect, not IBKR authentication failure.
This extends the failure mode in this issue:
Expected behavior
For an eligible task, an installed and authorized connector should be reconciled into the task’s
codex_appsMCP/tool catalog at thread creation/resume and after an explicit plugin mention. Otherwise Codex should return a structured eligibility/provisioning reason rather than silently omit the tools.A supported Reload connectors action plus a check that host catalog → task catalog hydration completed before accepting the turn would make this recoverable.
No credentials, account identifier, portfolio values, or private prompts are included. Read-only connector validation only; broker mutations: zero.
+1 on this issue
I have an automation that uses Gmail and Google Calendar and if I talk to the agent from the remote app on Android, it loses access to all tools until the Codex desktop app is fully restarted.