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. 1

    Checks intent

    Compares the call with the person's latest request. Any failure keeps the ask.

  2. 2

    Asks the person at the keyboard

    When the client can confirm, the answer is confirm_in_client with 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-client

Friction

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