#agents.defaults.embeddedPi.executionContract = "strict-agentic"

13 messages · Page 1 of 1 (latest)

buoyant ice
#

give me terminal commands to enable agents.defaults.embeddedPi.executionContract = "strict-agentic"
{
agents: {
defaults: {
embeddedPi: { executionContract: "strict-agentic" },
},
},
}
i think this is the place

lunar salmonBOT
obsidian sundialBOT
#

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

fossil sleetBOT
#

Yep, that’s the right key.

pnpm openclaw config set agents.defaults.embeddedPi.executionContract strict-agentic
pnpm openclaw config get agents.defaults.embeddedPi.executionContract
pnpm openclaw config validate
pnpm openclaw gateway restart

If you want to inspect the config file first:

pnpm openclaw config file

Small nuance: strict-agentic only applies to openai/* and openai-codex/* GPT-5-family runs.

buoyant ice
#

ok after i enable that, what if i want to switch to the codex harness?

fossil sleetBOT
#

Two different things here:

  1. Codex harness for normal embedded agent turns
    This is the one I’d recommend if you want to replace PI.
    Important: once you do this, embeddedPi.executionContract stops mattering, because that setting is PI-only.
pnpm openclaw config set plugins.entries.codex.enabled true
pnpm openclaw config set agents.defaults.model codex/<your-codex-model>
pnpm openclaw config set agents.defaults.embeddedHarness.runtime codex
pnpm openclaw config set agents.defaults.embeddedHarness.fallback none
pnpm openclaw config validate
pnpm openclaw gateway restart

If you want a mixed setup, use:

#
pnpm openclaw config set agents.defaults.embeddedHarness.runtime auto
pnpm openclaw config set agents.defaults.embeddedHarness.fallback pi

Then codex/* models use Codex, and non-Codex models stay on PI.

  1. Codex as an ACP session harness
    This is for “run this in Codex in a bound chat/thread” workflows, not the normal embedded turn runner.

Usually ACP is already enabled on fresh installs, but if you want Codex as the default ACP target:

pnpm openclaw config set acp.defaultAgent codex
pnpm openclaw config validate
pnpm openclaw gateway restart
#

Then in chat you’d use /acp spawn codex --bind here or /acp spawn codex --thread auto.

Big gotcha: openai-codex/* is not the Codex harness.
That still goes through PI. For the actual Codex harness, use codex/* model refs.

Docs: https://docs.openclaw.ai/plugins/codex-harness and https://docs.openclaw.ai/tools/acp-agents

If you want, I can also give you the exact command set for a mixed Codex + PI config without overwriting your current defaults.

buoyant ice
#

also wait, last time i set it like openclaw config set agents.defaults.embeddedPi.executionContract "strict-agentic" is that wrong? how do i fix it?

fossil sleetBOT
#

Nope, that command is probably fine.

openclaw config set agents.defaults.embeddedPi.executionContract "strict-agentic"

The shell removes those outer quotes before openclaw sees the value, so it normally stores just:

strict-agentic

Check what’s stored

pnpm openclaw config get agents.defaults.embeddedPi.executionContract
#
pnpm openclaw config get agents.defaults.embeddedPi.executionContract --json

Good output looks like either:

strict-agentic

or in JSON mode:

"strict-agentic"

If you somehow stored the quotes literally