An approval prompt is not a permission system
A current r/AI_Agents discussion asks whether permissions should live inside the agent runtime or outside it. The highest-leverage answer is operational: hard rules such as “cannot merge to main,” “cannot access payroll,” or “cannot send money” must survive a compromised model, poisoned tool description, prompt injection, or mistaken plan. The model may propose an action. It cannot be the final authority that decides whether the action is allowed.
This is not a theoretical distinction. Public agent frameworks now expose approval middleware, literal tool parameters, read-only auto-approval rules, and staged writes. VS Code shows the tool and input parameters before approval. OpenAI's Agents SDK passes parsed parameters and a tool-call ID to approval callbacks. AWS warns that wildcard trust grants remove oversight. An official n8n skill says the approval message should display the actual parameters sent to the wrapped tool, not a paraphrase generated by the model.
The convergence is useful but incomplete. A parameter dialog can still approve stale data. A tool can use a shared credential with broader scope than the request. A retry can repeat the effect. A sub-agent can ask a more privileged agent to act. Two individually permitted actions can combine into a prohibited outcome. Operations needs change control around the full action lifecycle, not only a button before execution.