Codex Desktop read_thread schema allows turnLimit, but values above 10 are rejected
What version of the Codex App are you using?
Codex Desktop: 26.616.81150
CFBundleVersion: 4306
What subscription do you have?
Pro
What platform is your computer?
macOS 15.6.1 build 24G90, arm64
What issue are you seeing?
The codex_app.read_thread tool schema exposes turnLimit as an optional integer but does not declare a maximum. Passing higher values causes the tool call to fail with a generic invalid-arguments error.
This can mislead agents into thinking a thread is unreadable or broken when the real issue is an undocumented parameter limit.
Steps to reproduce
Using a readable local thread id, the minimal call works:
{ "threadId": "019efcd1-0b32-7cd3-8dac-a687e65f1d8e" }
turnLimit: 10 also works:
{ "threadId": "019efcd1-0b32-7cd3-8dac-a687e65f1d8e", "turnLimit": 10 }
But turnLimit: 20 fails:
{ "threadId": "019efcd1-0b32-7cd3-8dac-a687e65f1d8e", "turnLimit": 20 }
Observed error:
read_thread received invalid arguments.
turnLimit: 30 also fails with the same error.
Expected behavior
Either:
- the schema should declare the max allowed value, likely
maximum: 10, or - the backend should accept larger
turnLimitvalues, or - the error should state the allowed range.
Actual behavior
The backend rejects larger turnLimit values with a generic invalid-arguments message, while the exposed schema does not advertise the limit.
Workaround
Call read_thread with no turnLimit or with turnLimit <= 10, then paginate using the returned nextCursor.
Related context
This is not the same as a missing/corrupt thread. The same thread is readable with the minimal call and with cursor pagination. The failure is parameter validation.