You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
openai-codex/gpt-5.3-codex intermittently returns text-only responses with no tool calls, even when the task clearly requires tool use. This is NOT specific to sessions_send — it happens when Codex is the primary agent model receiving messages via any channel (Discord, heartbeat, sessions_send).
The model responds with text like "Acknowledged, I'll do this" and emits end_turn instead of calling tools. The gateway treats this as a successful completion (not an error), so no retry/failover is triggered.
Steps to reproduce
Configure an agent with openai-codex/gpt-5.3-codex as the primary model
Send a task that requires tool calls (e.g. "run this test, read the output, fix the file")
The model responds with text acknowledging the task but makes zero tool calls
Run completes in 1.7-3.5 seconds with reason="run_completed"
This is intermittent — the same session with the same context may work correctly on the next attempt
This reproduces regardless of message source:
Direct Discord messages to the agent
sessions_send from another agent
Heartbeat-triggered runs
Expected behavior
When given a task requiring tool use, Codex should emit tool calls (exec, read, write, etc.) and the agent loop should continue until the task is complete.
Actual behavior
Model returns valid text but emits end_turn with zero tool calls. stopReason is undefined (not toolUse). The gateway considers this a successful run and goes idle.
The behavior is intermittent but clustered — once it starts, multiple consecutive runs fail the same way, suggesting the model enters a "conversational" mode.
OpenClaw version
2026.2.26
Operating system
macOS 15.4 (Apple Silicon, M4)
Install method
npm global
Logs, screenshots, and evidence
Failing Codex run — text-only, no tool calls (3.5s):
Not a sessions_send issue: The ping-pong handshake can amplify the pattern, but the root cause is the model choosing text over tool calls. This reproduces with direct Discord messages too.
Feature request: Could OpenClaw detect text-only responses to tool-requiring tasks and auto-retry or trigger fallback? Currently text-only is treated as success, not as a retry/failover condition.
Summary
openai-codex/gpt-5.3-codex intermittently returns text-only responses with no tool calls, even when the task clearly requires tool use. This is NOT specific to
sessions_send— it happens when Codex is the primary agent model receiving messages via any channel (Discord, heartbeat, sessions_send).The model responds with text like "Acknowledged, I'll do this" and emits
end_turninstead of calling tools. The gateway treats this as a successful completion (not an error), so no retry/failover is triggered.Steps to reproduce
openai-codex/gpt-5.3-codexas the primary modelreason="run_completed"This reproduces regardless of message source:
sessions_sendfrom another agentExpected behavior
When given a task requiring tool use, Codex should emit tool calls (
exec,read,write, etc.) and the agent loop should continue until the task is complete.Actual behavior
Model returns valid text but emits
end_turnwith zero tool calls.stopReasonisundefined(nottoolUse). The gateway considers this a successful run and goes idle.The behavior is intermittent but clustered — once it starts, multiple consecutive runs fail the same way, suggesting the model enters a "conversational" mode.
OpenClaw version
2026.2.26
Operating system
macOS 15.4 (Apple Silicon, M4)
Install method
npm global
Logs, screenshots, and evidence
Failing Codex run — text-only, no tool calls (3.5s):
Model output: "Acknowledged. I'll run this exactly as specified..." — no tool calls.
Working Codex run — same session, 25 min earlier (5 min, 48 tool calls):
5 minutes of active tool use. 94 new messages. Code committed and pushed successfully.
Key data points:
Impact and severity
Additional information
sessions_sendissue: The ping-pong handshake can amplify the pattern, but the root cause is the model choosing text over tool calls. This reproduces with direct Discord messages too.offandmedium