I've been trying to get it working and now using Codex to dig into it because it's gotten closer but still issues
Yes: I checked upstream openclaw/openclaw main just now, commit 0f8b52f9, and I do not see this fixed there.
The ACP path still does this:
OpenClaw runtime options map thinking to ACP config key thinking: runtime-options.ts (line 316)
The ACP control plane then rejects keys not advertised by the backend: manager.runtime-controls.ts (line 64)
Claude ACP advertises effort, not thinking, so OpenClaw’s thinkingDefault does not translate correctly.
There is a Claude thinking-related fix in upstream, but it’s for the Claude CLI backend passing --effort, not for Claude ACP via acpx. That’s the subtle trap here.
So yes, best fix belongs in openclaw/openclaw: its ACP control plane should map OpenClaw’s abstract thinking option to the backend’s advertised key, probably effort for Claude ACP. An acpx-side compatibility alias could also paper over it, but OpenClaw owns thinkingDefault, so OpenClaw is the right architectural place.