Summary
Two separate bugs affecting cron job reliability on OpenClaw 2026.6.1:
Bug 1: claude-haiku-4.5 tool schema rejection
400 tools.0.custom.eager_input_streaming: Extra inputs are not permitted
OpenClaw sends eager_input_streaming in the tool schema payload to Claude via GitHub Copilot. Claude's API rejects this as an unsupported field. This started after removing custom model entries from openclaw.json (so the plugin catalog takes over), but the plugin catalog shouldn't inject fields that the target API rejects.
Bug 2: gpt-5.4-mini (Responses API) incomplete turn false positive
incomplete turn detected: stopReason=stop hasLastAssistant=yes
hasCurrentAttemptAssistant=yes payloads=0 tools=1 replaySafe=no
When a cron job uses gpt-5.4-mini (now routed via /responses endpoint), the model correctly makes a tool call (exec), but OpenClaw's loop detector fires because:
payloads=0 (no text response yet — model is waiting for tool result)
tools=1 (tool was called)
- After executing the tool, the model doesn't get a chance to emit a final response
This causes the agent run to abort with "Agent couldn't generate a response" even though the tool executed successfully.
Interesting: An identical cron job with a slightly different prompt works fine — suggesting the issue is timing/turn-structure dependent with the Responses API.
Reproduction
Two cron jobs with near-identical configs:
inbox-subs-sweep → works with gpt-5.4-mini ✅
inbox-security-sweep → always fails with the incomplete turn error ❌
Both use toolsAllow: ["exec", "read"] and similar prompts.
Environment
- OpenClaw 2026.6.1
- GitHub Copilot provider
- Plugin catalog routes
gpt-5.4-mini via openai-responses API
- Custom model entries cleared from
openclaw.json
Workaround
Currently none that works for both bugs simultaneously. claude-haiku-4.5 hits bug 1, gpt-5.4-mini hits bug 2.
Summary
Two separate bugs affecting cron job reliability on OpenClaw 2026.6.1:
Bug 1:
claude-haiku-4.5tool schema rejectionOpenClaw sends
eager_input_streamingin the tool schema payload to Claude via GitHub Copilot. Claude's API rejects this as an unsupported field. This started after removing custom model entries fromopenclaw.json(so the plugin catalog takes over), but the plugin catalog shouldn't inject fields that the target API rejects.Bug 2:
gpt-5.4-mini(Responses API) incomplete turn false positiveWhen a cron job uses
gpt-5.4-mini(now routed via/responsesendpoint), the model correctly makes a tool call (exec), but OpenClaw's loop detector fires because:payloads=0(no text response yet — model is waiting for tool result)tools=1(tool was called)This causes the agent run to abort with "Agent couldn't generate a response" even though the tool executed successfully.
Interesting: An identical cron job with a slightly different prompt works fine — suggesting the issue is timing/turn-structure dependent with the Responses API.
Reproduction
Two cron jobs with near-identical configs:
inbox-subs-sweep→ works withgpt-5.4-mini✅inbox-security-sweep→ always fails with the incomplete turn error ❌Both use
toolsAllow: ["exec", "read"]and similar prompts.Environment
gpt-5.4-miniviaopenai-responsesAPIopenclaw.jsonWorkaround
Currently none that works for both bugs simultaneously.
claude-haiku-4.5hits bug 1,gpt-5.4-minihits bug 2.