#58447

macOS: dot native thread read returns DesktopThreadReadUnavailableError with connected, authorized desktop

OpenRobert-Fishopened 6h ago

Summary

A dot cannot read an existing user-created native Codex thread on a connected macOS desktop through the documented cloud_threads.read route. Both threadId and the exact environmentId from a fresh list_environments result were supplied. A control read of an existing dot-created cloud task succeeds.

Reproduction

Tested October 30, 2026, approximately 22:36 UTC.

  1. Use an existing user-created native Codex thread on the connected desktop.
  2. Call cloud_threads.list_environments. The selected desktop reports status=connected, attached=true, and is_authorized_for_tasks=true.
  3. Call cloud_threads.read with the existing thread ID, the exact matching environment ID, and limit=3.
  4. Observe the following failure instead of thread contents:
DesktopThreadReadUnavailableError: Could not read the native thread on the selected desktop. Confirm its environmentId with list_environments, update or reconnect Desktop, and retry read with the same threadId and environmentId. Registered Remotes and cloud containers do not support native Desktop thread reads.

Structured error fields:

{"error_code":"CONFLICT","error_data":{"type":"desktop_thread_read_unavailable"}}

Successful control

A read of an existing dot-created cloud task, with its thread ID and no environment ID, returns isError=false.

Diagnostic limits

  • The exact desktop app/build version was not independently captured.
  • Current read-tool documentation says native reads require expanded read access and the memory setting for external threads. The available diagnostic tools do not expose those settings, so their states remain unverified.
  • The error does not establish whether this is a client-version/capability issue, an unmet setting, or another native-read failure. No root cause is asserted.
  • No settings were changed, no app restart/reconnection/update was performed, and no messages were sent to the affected native thread during this reproduction.
  • Private thread/environment/account identifiers, computer names, paths, conversation content, and credentials are intentionally omitted.

Expected behavior

Read the authorized native thread when supported prerequisites are met, or identify the specific missing capability or setting with a verifiable recovery step. The generic error does not distinguish those possibilities despite a confirmed connected, authorized desktop and correctly supplied environment ID.

Related reports

#50704 and #52873 describe similar native-versus-cloud read discrepancies on Windows, but use placement-format/region errors. This report is for the macOS native route with an explicit environment ID and desktop_thread_read_unavailable / CONFLICT. Please consolidate if the underlying issue is the same.

Reporting route: https://learn.chatgpt.com/docs/reference/troubleshooting#feedback-and-logs

Activity

1
Robert-Fish6h ago

Additional same-thread control, verified October 30, 2026, at 22:42:11 UTC: the supported local Codex mcp__codex_app__read_thread route with hostId="local" successfully read the SAME native thread through an existing coordinator on the connected Mac. It returned the thread as idle with its latest turn completed.

This narrows the observed failure to the cloud_threads.read route with the matching environmentId; native observation is available through the local route. It does not establish why the cloud-to-desktop route fails or whether an unverified prerequisite differs between the routes. No private thread or environment identifiers or conversation contents are included.