Tools give power; policy gives shape
An agent with tools is an actor in your system. That actor needs least privilege, audit logs, and explicit approval boundaries. Prompting the agent to be careful is not a permission model.
Classify tools by blast radius
Read-only tools can often run freely. Write tools need validation. Destructive tools need human approval or tightly scoped automation. Privileged tools require identity, policy, and audit trail.
Code execution deserves special suspicion. Use containers, restricted subprocesses, ephemeral workspaces, network limits, and timeouts. Never run untrusted generated code directly on a valuable host.
Approval must be semantic
Do not ask a user to approve call tool X with args Y if they cannot understand the effect. Ask for approval in human terms: “delete these 3 files,” “send this email to these recipients,” “deploy this commit to production.”