𝗠𝘆 𝗖𝗼𝗱𝗶𝗻𝗴 𝗔𝗴𝗲𝗻𝘁 𝗔𝘀𝗸𝗲𝗱 𝗣𝗲𝗿𝗺𝗶𝘀𝘀𝗶𝗼𝗻 𝗳𝗼𝗿 𝗘𝘃𝗲𝗿𝘆 𝗧𝗶𝗻𝘆 𝗦𝘁𝗲𝗽

My AI assistant had a major problem. It did not refuse to ask for permission. It asked for permission too often.

I would give it a simple task like reading a PDF. The assistant would make one move, ask for approval, run the command, and then immediately ask again for the next tiny step. One task became a treadmill of prompts.

Approval prompts are necessary. You want a local assistant to stop before it runs commands, writes files, or opens apps. But real work requires many steps. Reading a PDF involves checking for Python, finding a converter, running that converter, and reading the text.

If every single step asks for approval, you stop evaluating risk. You start clicking through interruptions just to make them go away. This trains you to ignore the safety system. That is more dangerous than having no safety at all.

The old workflow looked like this:

The assistant missed the intent of the user. You were not approving one tiny probe. You were approving a complete task.

I changed how CliGate works. Now, once you approve the first action in a chat, the system sets a flag. This lets later steps continue without new approval rounds. The assistant still gets the real results so it can keep working.

I also added an escape hatch: /safe. This command turns explicit confirmation mode back on.

I also fixed a language bug. When the system continued a task, it sometimes changed the language of the prompts. If you spoke Chinese, the assistant would switch to English for the next prompt. Now, the assistant looks at your last real message to choose the right language.

The fix is not to disable approvals. The fix is to remember why the user gave approval.

For local tools, use task-scoped trust:

This is how I build approvals in CliGate. It is my local control plane for Claude Code, Codex CLI, and Gemini CLI.

How do you handle approval fatigue? Do you approve per tool call, per task, or per session?

Mijn coding agent vroeg om toestemming voor elke kleine stap

Ik heb de laatste tijd geëxperimenteerd met AI coding agents, en hoewel het potentieel verbazingwekkend is, liep ik tegen een enorm wrijvingspunt aan: de 'Permission Loop'.

Elke keer dat ik de agent een taak gaf, begon hij te werken. Maar toen stopte hij. 'Mag ik package.json lezen?' 'Mag ik npm install uitvoeren?' 'Mag ik een bestand genaamd utils.ts aanmaken?'

Het voelde alsof ik een zeer getalenteerde maar extreem zenuwachtige stagiair aan het babysitten was.

De frictie

Het probleem is niet dat de agent iets fout doet. Het is dat hij te voorzichtig is. In een poging om onbedoelde verwijderingen of dure API-aanroepen te voorkomen, hebben ontwikkelaars strikte guardrails geïmplementeerd.

Maar voor een developer is dit een flow-killer. Ik zit in de zone, ik heb de logica uitgelegd, en nu moet ik twintig keer achter elkaar op 'Toestaan' klikken om slechts één enkele feature te implementeren.

Waarom gebeurt dit?

  1. Veiligheid eerst: Ontwikkelaars willen niet dat agents rm -rf / uitvoeren.
  2. Kostenbeheersing: Het uitvoeren van commando's of het lezen van grote bestanden kost tokens.
  3. Voorspelbaarheid: Ervoor zorgen dat de agent niet uit de bocht vliegt.

De oplossing: Het vinden van de juiste balans

De sleutel is het vinden van de balans tussen autonomie en controle. We willen geen rogue agent, maar we willen ook geen verlamde agent.

Enkele manieren om dit te verzachten: