Skip to content
← all notes

Approval gates are a feature, not friction

Why my agent harnesses pause for a human at the right moments, and how to do it without becoming the bottleneck.

#harness#safety#claude-code

The fastest way to lose trust in a coding agent is to let it do one irreversible thing you didn’t expect.

Gate the effects, not the thinking

Agents can read, plan and draft as much as they want. The gates go on effects: shell commands, writes outside the workspace, deploys. In Mothership, a PreToolUse hook holds those calls and the console asks:

  • Allow once
  • Allow for this chat
  • Deny

If nobody answers within 300 seconds, the call is denied. Silence is never approval.

Gate the claims too

“Done” is also a claim that needs checking. The verifier won’t close a ticket until every acceptance criterion has cited evidence, such as a test run, a screenshot or a log line.

Don’t become the bottleneck

  • Group decisions so you approve a plan once, not every step.
  • Make the safe path the default, so most work never needs a gate.
  • Use voice. The harness says out loud when it needs you, so you don’t have to keep watching it.
> esc