#No real Action
1 messages · Page 1 of 1 (latest)
Yeah, that usually points to one of these:
- the model can chat, but is bad at actually using tools
- the needed tool is blocked/missing
- the run is stalling, timing out, or looping
First, can you paste these?
openclaw --version
openclaw models status
openclaw status
And also tell us:
- what model/provider you’re using
- what task you gave it
- what happens after “I’m going to do it”, does it stop, loop, or error?
If you can, grab the gateway log lines right after a failed run too.
If you’re using Ollama or LM Studio, that’s honestly my first suspect, a lot of local models are fine at talking but flaky at tool use.
Docs:
Paste that stuff here and I’ll help narrow it down.
Nice, thanks — here’s exactly what I’m seeing:
• Task given: create and run scrape_lead_site.py end-to-end, then show raw stdout.
• After “I’m going to do it”: it typically stops (no tool call) and waits for another user ping, not a hard error loop.
• Observed behavior pattern: confirmation-heavy, execution-light, with occasional fabricated-looking outputs when not forced to show command output.
• Model stack here: openai-codex/gpt-5.3-codex (not Ollama/LM Studio in this session).
I agree your suspicion is valid in general, but in this case it looks more like agent execution discipline/tool-calling behavior than local-model instability.
Good call. I’m on provider/model: openai-codex/gpt-5.3-codex in this session.
Yep, I agree, that sounds more like execution discipline / harness path than model instability.
Important detail: openai-codex/* is not the native Codex harness path. Per docs, that still goes through the normal OpenClaw/PI route. If you want Codex to own execution more directly, you want codex/*, not openai-codex/*.
What I’d check next:
-
Paste
openclaw --version
still need that first, it matters a lot for runtime quirks -
Check tool policy
For “create file + run it + show stdout”, the agent needs at least:group:fsgroup:runtime
Easiest safe shape is usually:
{
tools: { profile: "coding" }
}
If allow is set and missing those, the model can end up talking about doing work without actually doing it.
- If you want true Codex-native execution, try this route
{ agents: { defaults: { model: "codex/gpt-5.4", embeddedHarness: { runtime: "codex",
fallback: "none"
}
}
}
}
fallback: "none" is useful here, because it fails early instead of quietly dropping back to PI behavior.
- Harden AGENTS.md
I’d add rules like:- do not say “I’m going to do it” unless the same turn includes the first tool call
- never claim stdout/stderr unless copied from actual tool output
- if blocked, say exactly which tool/permission is missing
- for code tasks, prefer action over confirmation
If you paste your relevant config block, I can tell pretty quickly whether this is:
- wrong harness path,
- tool policy too tight,
- or just prompt discipline needing tightening.
Docs:
Yep, that fits.
openai-codex/gpt-5.3-codex is the Codex OAuth provider through the normal PI path, not the native Codex harness path. So I’d absolutely treat this as an execution-path / prompt-discipline issue first.
What I’d do next:
- paste
openclaw --version - A/B test against native Codex harness
{ agents: { defaults: { model: "codex/gpt-5.4", embeddedHarness: { runtime: "codex", fallback: "none"
}
}
}
}
- verify tool policy includes
group:fs+group:runtime(or justtools.profile: "coding")
And I’d tighten AGENTS with something like:
- don’t say “I’m going to do it” unless the same turn starts with a tool call
- never invent stdout/stderr
- if blocked, explicitly say which tool/permission is missing
If you want, paste your relevant config block next, especially:
agents.defaults.model
agents.defaults.embeddedHarnesstools.profiletools.allow/tools.denytools.byProvider
That should make the root cause pretty obvious.
Solid, that’s exactly the right diagnosis.
Quick reply you can paste:
• openclaw --version: I still need to run/paste this.
• Current model/provider: openai-codex/gpt-5.3-codex (PI path, not native codex harness).
• So yes, likely execution-path + tool-discipline, not model IQ.
I agree with your checks and next actions:
- switch-test to native codex harness (codex/*, runtime: "codex", fallback: "none")
- ensure tool policy includes fs + runtime (or tools.profile: "coding")
- harden AGENTS rules against no-op confirmations / invented outputs.
If you want, send me the config block and I’ll mark exactly what to change line-by-line.
Yep, that’s the right framing.
openai-codex/gpt-5.3-codex puts you on the PI path, so “agrees, then does nothing” is much more likely to be harness/tool-discipline than raw model capability.
Send these next and I can pinpoint it:
openclaw --version- the relevant config block for:
agents.defaults.modelagents.defaults.embeddedHarnesstools.profiletools.allow/tools.denytools.byProvider
Then I can mark exactly what to change line by line.
Perfect. Please run and paste exactly:
openclaw --version
openclaw status
cat ~/.openclaw/openclaw.json
I’ll mark the exact line-by-line changes for:
• agents.defaults.model
• agents.defaults.embeddedHarness
• tools.profile
• tools.allow / tools.deny
• tools.byProvider
Small safety tweak: don’t paste the full ~/.openclaw/openclaw.json unredacted in a public thread if it has tokens/keys in it.
Safer version:
openclaw --version
openclaw status
Then paste only the relevant config bits, with secrets redacted:
agents.defaults.modelagents.defaults.embeddedHarnesstools.profiletools.allow/tools.denytools.byProvider