Permissions
Every tool call that an agent makes outside a pre-approved list goes through the Agenties permission system. A persistent card appears in the corner of the UI asking you to approve, deny, or always-allow the action. This keeps you in control of what agents can do — especially for destructive operations like shell commands and file writes.
How it works
When an agent calls the request_permissionMCP tool (or when Claude Code's built-in permission check fires), the Agenties main process intercepts the request and:
Permission card UI
Permission cards appear in the bottom-right corner of the Agenties window. Each card shows:
BashOptions
| Option | Effect |
|---|---|
| Deny | Rejects the tool call. The agent receives an error and must decide how to proceed. |
| Allow once | Permits this specific call. The next identical call from any agent will prompt again. |
| Always allow | Adds this tool (with optional input pattern) to the project's auto-allowed list. Future matching calls are never blocked. |
Overflow and batch approval
The permission card stack shows a maximum of 4 cards at once. If more than 4 permission requests arrive simultaneously (common when multiple agents are running), a "+N more" indicator appears. Clicking it opens an overflow modal with all pending requests listed in a table, allowing batch approval or denial.
Auto-allowed tools
The auto-allowed list in config.json specifies tools that are always permitted without showing a card. You can manage this list in Settings → Permissions.
Each entry has a tool (the MCP tool or Claude Code built-in tool name) and apattern (glob matched against the tool's input string). Use * to match any input for a tool.
Permissions history
Navigate to Settings → Permissions to see the full history of all permission decisions. You can:
The request_permission MCP tool
Agents can proactively request permission before attempting a sensitive operation:
The tool returns a boolean granted. If denied, the agent should find an alternative approach or report the blocker to the orchestrator.
* as a pattern for Bash in production projects. Shell commands can be destructive — always use specific patterns like npm run * orgit status* to limit auto-approval to safe operations.