Skip to content
Book a demo

Manage permissions

Permissions control what an agent is allowed to do inside its sandbox: read files, run bash commands, make web requests, and more. You set permissions at the project level and can override them per agent version.

How permissions work

A permission config is either a single action ("allow", "deny", "ask") or an object with granular keys. Agent-level permissions override project-level permissions. An explicit deny always wins over allow.

The available permission keys are:

Key Controls
read Read files in the sandbox
edit Write or modify files
glob Search files by pattern
grep Search file contents
list List directory contents
bash Run shell commands
task Create and manage sub-tasks
external_directory Access directories outside the project
todowrite Write to the todo list
question Ask clarifying questions
webfetch Fetch external URLs
websearch Search the web
codesearch Search code with semantic search
lsp Use language server features
doom_loop Allow the agent to loop without intervention
skill Load and execute skills

See Permissions for the full concept.

In the UI

In the UI

  1. Open a project and go to Settings → Permissions.

  2. Set the default policy for each capability: Allow, Deny, or Ask.

  3. To override for a specific agent, open the agent’s version settings and adjust the permissions there.

  4. Click Save.

Programmatically

Set project-level permissions

Terminal window
ren projects update prj_def456 \
--permission '{"read": "allow", "edit": "allow", "bash": "ask"}'

Set agent-version-level permissions

Terminal window
ren agents versions create agt_abc123 \
--permission '{"bash": "deny", "webfetch": "deny"}'