Approval is a deliberate boundary, not an automatic retry. It covers estimates above the account's confirmation threshold and actions that require the human's provider consent.
A confirmation-required run
- The agent calls
runwith the inspectedtool_idand input. - scrollport validates the input and returns
confirmation_requiredwithrun_id,approval_url,estimateand an expiry. - The agent shows the estimate and URL to the human.
- The human approves or denies in the browser.
- After approval, the agent resumes the existing run or retries the same call with
confirm: true, exactly as the error teaches.
The initial quote holds no money. Approval places the hold only after the balance is checked again, so a stale quote cannot reserve funds the account no longer has.
A provider connection
connection_required is a different gate. It means a human must connect an account before the provider action can be attempted. Give the human connect_url; do not treat it as permission to guess or collect credentials.
What the agent must not do
- Do not set
confirm: truebefore a human approves the quote. - Do not poll an expired approval URL.
- Do not create a second run while the first decision is pending.
- Do not say a provider action succeeded until the run status says
succeeded.
See errors for the teaching payloads that point to the next safe action.