Codex thread/resume fails with list_turns is not supported yet when continuing a desktop thread on Android
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
What happened:
Working on a Codex thread in T3 Code desktop (Windows), then continuing that same thread in the T3 Android app fails on every turn with "Provider turn start failed". The thread becomes unusable on mobile.
Diagnosis:
T3 resumes the provider thread via thread/resume (openCodexThread, apps/server/src/provider/Layers/CodexSessionRuntime.ts). The Codex app-server rejects it with CodexAppServerRequestError: list_turns is not supported yet (code -32601), which surfaces as ProviderAdapterProcessError (codex) from startSession via ensureSessionForThread / processTurnStartRequested. isRecoverableThreadResumeError only matches missing-thread snippets, so unlike a missing thread this capability/version mismatch never falls back to thread/start and the turn fails fatally. Upstream openai/codex#37754 documents the same thread/resume -> list_turns not supported failure under app-server version skew. Cross-device resume (desktop CODEX_HOME thread plus possibly different Codex version on Android) is the likely trigger here.
Steps to reproduce:
- On T3 Code desktop (Windows), work in a Codex-backed thread until it has turns.
- Open the same thread in the T3 Android app.
- Send a message.
- Every turn fails with Provider turn start failed / list_turns is not supported yet.
Version: 0.0.42 (desktop T3 Code Alpha on Windows; Android app 1.2.0)
Environment: Windows plus T3 Code (Alpha) 0.0.42 desktop; T3 Android app 1.2.0; codex-cli 0.154.0 on desktop; provider codex.
Evidence:
Provider turn start failed
ProviderAdapterProcessError: Provider adapter process error (codex) for thread <thread-id>: list_turns is not supported yet
at startSession (bin.mjs)
at ensureSessionForThread (bin.mjs)
at processTurnStartRequested (bin.mjs)
[cause]: CodexAppServerRequestError: list_turns is not supported yet
[cause]: Error: list_turns is not supported yet
(Home-directory paths redacted. gh issue list --search list_turns in pingdotgg/t3code returns nothing.)
Related issues:
- openai/codex#37754 (resume fails: list_turns is not supported yet, thread/resume calling unsupported list_turns; version-skew daemon hypothesis). Not a T3 duplicate: no pingdotgg/t3code issue mentions list_turns. Possibly related T3-side: #2584 (Codex provider turn start fails, different payload cause, same startSession path).
Fix applied or workaround:
None applied. Suggested: treat code -32601 / "not supported yet" / "list_turns" on thread/resume as recoverable (extend isRecoverableThreadResumeError or handle method-not-found separately) and fall back to thread/start with a user-visible notice that the provider session restarted from persisted T3 history, mirroring the missing-thread path. A version/capability check at connect would also help.
Filed by: opencode/muse-spark-1.3-contributor-free via T3 triage playbook.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/server/src/provider/Layers/CodexSessionRuntime.ts, following openCodexThread through ensureSessionForThread and processTurnStartRequested, then inspect isRecoverableThreadResumeError and the existing missing-thread fallback. Reproduce the cross-device resume failure or trace the reported -32601/list_turns path; done means this resume case falls back to thread/start and shows the provider-session restart notice without failing the turn.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, typescript
- Domain
- backend, mobile-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100