Back to Blog

Bypass Permissions vs Allowlists - Finding the Middle Ground for AI Agents

Fazm Team··2 min read
ai-agentspermissionssecuritydeveloper-experiencedesktop-automation

Bypass Permissions vs Allowlists - Finding the Middle Ground for AI Agents

I tried dangerously-skip-permissions for about a week before switching to allowlists. The middle ground is where you want to be.

The Two Extremes

On one end, you have full bypass mode. Every tool call executes without asking. Your agent moves fast, but it also has unrestricted access to delete files, run arbitrary commands, and modify system settings. It feels great until something goes wrong, and when it goes wrong with an autonomous agent, it goes really wrong.

On the other end, you have full approval mode. Every single action needs a thumbs up. Your agent asks permission to read a file, then asks permission to read another file, then asks permission to write the output. You spend more time approving actions than you would doing the task yourself.

The Allowlist Approach

The practical middle ground is a curated allowlist of tools and directories. You define which operations the agent can perform without asking and which ones require approval. File reads in your project directory - auto-approved. File writes - auto-approved. Shell commands matching known patterns - auto-approved. Anything outside those boundaries - ask first.

This is not a new concept. Unix file permissions work the same way. You do not run everything as root, and you do not chmod 000 your entire filesystem. You set appropriate permissions for appropriate contexts.

What Goes on the Allowlist

Start restrictive and expand based on friction. If you find yourself approving the same action repeatedly, add it. Common additions include read access to documentation directories, write access to your project's source files, and execution of build and test commands. Keep system-level operations, network requests to unknown hosts, and credential access behind approval gates.

The Key Insight

Permission systems for AI agents should feel invisible when the agent is doing expected work and loud when it is doing something unexpected. That is what allowlists achieve - not perfect security, but practical usability with reasonable guardrails.

More on This Topic

Fazm is an open source macOS AI agent. Open source on GitHub.

Related Posts