Summary
OpenAI Responses reasoning turns can error with:
400 Item 'rs_…' of type 'reasoning' was provided without its required following item.
This happens after enabling reasoning/thinking for openai/gpt-5.2 and then sending a normal message (or /status) in WhatsApp sessions. Clearing session history fixes it temporarily.
Environment
- Clawdbot version: 2026.1.16-2 (Homebrew global install)
- OS: macOS
- Provider: OpenAI
- Model:
openai/gpt-5.2
- API mode:
openai-responses
- Channel: WhatsApp
Config (sanitized)
{
"models": {
"providers": {
"openai": {
"baseUrl": "https://api.openai.com/v1",
"api": "openai-responses",
"models": [
{
"id": "gpt-5.2",
"reasoning": true
}
]
}
}
},
"agents": {
"defaults": {
"model": { "primary": "openai/gpt-5.2" },
"thinkingDefault": "off"
}
}
}
Repro steps
- Configure OpenAI provider as above (
openai-responses, gpt-5.2, reasoning true).
- Start a WhatsApp session.
- Set thinking to high (e.g.
clawdbot agent --to <number> --thinking high ...).
- Send a normal message (or
/status).
Result
400 error from OpenAI Responses:
400 Item 'rs_…' of type 'reasoning' was provided without its required following item.
Expected
Normal response (or status reply) without an error.
Notes
- Clearing session history (
~/.clawdbot/agents/main/sessions/*.jsonl and sessions.json) and restarting gateway resolves it temporarily until reasoning is used again.
- Error appears to be linked to replaying reasoning items in session history for tool-only / status-like turns.
Relevant log excerpts
From ~/.clawdbot/agents/main/sessions/<session>.jsonl (trimmed):
... "thinkingSignature":{"id":"rs_091acb...","type":"reasoning", ... }
... errorMessage:"400 Item 'rs_091acb...' of type 'reasoning' was provided without its required following item."
If you want, I can provide the full JSONL and gateway logs privately.
Summary
OpenAI Responses reasoning turns can error with:
This happens after enabling reasoning/thinking for
openai/gpt-5.2and then sending a normal message (or/status) in WhatsApp sessions. Clearing session history fixes it temporarily.Environment
openai/gpt-5.2openai-responsesConfig (sanitized)
{ "models": { "providers": { "openai": { "baseUrl": "https://api.openai.com/v1", "api": "openai-responses", "models": [ { "id": "gpt-5.2", "reasoning": true } ] } } }, "agents": { "defaults": { "model": { "primary": "openai/gpt-5.2" }, "thinkingDefault": "off" } } }Repro steps
openai-responses,gpt-5.2, reasoning true).clawdbot agent --to <number> --thinking high ...)./status).Result
400 error from OpenAI Responses:
Expected
Normal response (or status reply) without an error.
Notes
~/.clawdbot/agents/main/sessions/*.jsonlandsessions.json) and restarting gateway resolves it temporarily until reasoning is used again.Relevant log excerpts
From
~/.clawdbot/agents/main/sessions/<session>.jsonl(trimmed):If you want, I can provide the full JSONL and gateway logs privately.