#ChatGPT-Codex 5.3 or lower agents never actually do anything

1 messages · Page 1 of 1 (latest)

meager wing
#

I have been a user of the claw for a few months now. Everything been working great. Then the last update or 2 my coding agent (which is set on openai-chatgpt/GPT5.3-codex all of a suddent stopped actually doing any code and seemingly in an endless loop of planning and never actually doing anything.

I am able to change it to GPT5.4 and it then does something, but thats burning credits up - hard!.

I raised a bug and theres a bit of conversation on it in github where it appears it may have been broken somewhat near the start of april, but im wondering if there is a workaround as im significantly hampered by the excessive credits being used for 5.4 over 5.3.

Heres the github issue link: https://github.com/openclaw/openclaw/issues/62505

Ta!

crystal hawkBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

short pewterBOT
fleet mortarBOT
#

Let me verify the docs and current repo state so I can give you something real, not hand-wavy.

#

I found something promising in the docs/code: there’s now an opt-in strict-agentic execution mode specifically meant to stop GPT-5/Codex runs from getting stuck in plan-only turns. I’m checking the exact config shape before I suggest it.

#

Yeah, that does sound like the same plan-only stall regression.

First thing, what does openclaw --version show?

If this is a normal embedded OpenClaw agent (not an ACP Codex/Claude Code harness), the best current workaround I found is enabling strict-agentic for that coding agent:

{
  agents: {
    list: [
      {
        id: "coding",
        embeddedPi: {
          executionContract: "strict-agentic",
        },
      },
#
    ],
  },
}

Or globally:

{
  agents: {
    defaults: {
      embeddedPi: {
        executionContract: "strict-agentic",
      },
    },
#
  },
}

That mode is specifically documented to stop GPT-5 / Codex family runs from ending in plan-only turns, and to force either a concrete action or an explicit blocked state.

Docs:

If you’re temporarily stuck on 5.4, also lower that agent’s thinkingDefault to reduce burn while testing.

If you paste openclaw --version plus the relevant agent config block (minus secrets), I can sanity check the exact JSON5.

meager wing
#

"agents": {
"defaults": {
"model": {
"primary": "openai-codex/gpt-5.4",
"fallbacks": [
"openrouter/auto",
"openai-codex/gpt-5.3-codex",
"openai-codex/gpt-5.2",
"openai-codex/gpt-5.1",
"openai-codex/gpt-5.1-codex-max",
"openai-codex/gpt-5.1-codex-mini",
"openai-codex/gpt-5.2-codex",
"openai-codex/gpt-5.3-codex-spark"
]
},
"models": {
"openrouter/auto": {
"alias": "OpenRouter"
},
"openai-codex/gpt-5.4": {
"alias": "GPT-5.4"
},
"openai-codex/gpt-5.3-codex": {
"alias": "GPT-5.3-Codex"
},
"openai-codex/gpt-5.2": {
"alias": "GPT-5.2"
},
"openai-codex/gpt-5.1": {
"alias": "GPT-5.1"
},
"openai-codex/gpt-5.1-codex-max": {
"alias": "GPT-5.1-Codex-Max"
},
"openai-codex/gpt-5.1-codex-mini": {
"alias": "GPT-5.1-Codex-Mini"
},
"openai-codex/gpt-5.2-codex": {},
"openai-codex/gpt-5.3-codex-spark": {}
},
"workspace": "/home/ubuntu/.openclaw/workspace",
"memorySearch": {
"sources": [
"memory"
],
"provider": "openai",
"remote": {
"apiKey": "supersecretkey"
},
"model": "text-embedding-3-small"
},
"compaction": {
"mode": "safeguard",
"memoryFlush": {
"enabled": true,
"softThresholdTokens": 4000,
"prompt": "Write any lasting notes to memory/YYYY-MM-DD.md; reply with NO_REPLY if nothing to store.",
"systemPrompt": "Session nearing compaction. Store durable memories now."
}
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
},

#

ubuntu@vps-23287a21:~/.openclaw$ openclaw --version
OpenClaw 2026.4.11 (769908e)

fleet mortarBOT
#

Yep, in that config the place to add it is under agents.defaults.

Try this:

{
  agents: {
    defaults: {
      embeddedPi: {
        executionContract: "strict-agentic",
      },

      // optional, if you need to stay on 5.4 for a bit and want to cut spend
      thinkingDefault: "low",
    },
  },
#
}

So in your file, it should sit alongside model, models, workspace, compaction, etc.

That’s the documented knob for “stop accepting plan-only turns, either act or fail explicitly” on OpenAI / Codex GPT-5-family runs:

I still need your openclaw --version, because older builds may not have that setting yet.

Also, if supersecretkey was not a placeholder, rotate/redact that ASAP.

#

Let me verify whether strict-agentic should exist in 2026.4.11, so I don’t send you on a config goose chase.

#

Perfect, thanks, that answers the important bit.

I checked, 2026.4.11 does include the strict-agentic feature, so this is available in your build right now.

Add this under agents.defaults:

embeddedPi: {
  executionContract: "strict-agentic",
},

Then restart the gateway:

openclaw gateway restart