Skip to content

Plan-first workflows

Use when: you want the model to think through the change first, commit that thinking to an artifact a human can review, and only then start editing. Common in code-review flows, migrations, change-management environments, and unattended runs where a bad plan is cheaper to catch than a bad diff.

core-agent has a plan-first posture with two strengths, picked via permissions.plan_mode:

  • required — the permission gate refuses every mutating tool (write_file, edit_file, delete_file, bash with non-read-only commands, spawn_agent, MCP writes) until the model has called record_plan for the current turn. The plan is a precondition.
  • advisoryrecord_plan is registered and the artifact is persisted exactly the same way, but nothing is blocked. The plan is an audit trail: the agent records what it’s about to do and then does it in the same turn.

Reach for required when a human is genuinely going to read the plan before the diff lands. Reach for advisory for unattended runs where you want the reasoning on file but there is nobody to approve it — an armed gate with no approver just stalls the run.