Confirm in client
Low-friction governance: developer-level asks go to the person at the keyboard, after an intent check, instead of a central approval.
Block only what no agent needs
A block is only for what no agent needs. Downloading and running code is an ask, not a block. An outside address in a call (a customer email, a page to fetch) goes to your agent's rules, which ask or block.
How a developer-level ask is answered
When every cause of an ask is developer-level (the learning period, download and run, a privileged role rule on a developer-judgeable call), the call is outside production and it is not a re-entry, Intertrace:
- 1
Checks intent
Compares the call with the person's latest request. Any failure keeps the ask.
- 2
Asks the person at the keyboard
When the client can confirm, the answer is
confirm_in_clientwith the question to show, and no central approval is opened.
Interactive Claude Code and Cursor shell and MCP calls can confirm. Anything leaving the company is never developer-judgeable. Intertrace keeps the outcome and the intent verdict, never the request text.
Organization switch
GET /api/org/confirm-in-client
PUT /api/org/confirm-in-clientFriction
Friction is measured per agent, with a target of one interruption per active hour. A retry of the same pending action counts once.
GET /api/agents/:id/friction