Agents must give a reason for every change by default
A change an agent makes without a reason is now refused by default: the command
fails with the reason_required code and a retry action, and the agent
retries with --reason. Built-in tools that change sessions on the agent’s
behalf, such as spawn_agent and handoffs, give their own reasons, so they keep
working.
This is the Require reasons from agents feature flag, now on by default. An
organization can turn it off to let such changes through with a warning, which
the everruns_entity_changes_without_reason_total metric counts. People in the
UI and scripts calling the API may still leave the reason out.