Approval modes & permissions
Approval Mode
Approval mode controls how much automation Friday uses when executing commands. There are three levels: 2x, 5x and 10x.
Using Command-Line Flags
Start Friday with your desired approval mode:
friday --2x
friday --5x
friday --10x
Interactive Configuration
While Friday is running, you can change the approval mode through the /settings command. The setting will persist across sessions until you change it again.
Approval Mode Levels
2x Mode
In 2x mode, Friday asks for your approval before executing any command. This gives you complete control and visibility over every action Friday takes.
5x Mode (Default)
In 5x mode, Friday automatically executes bash commands without asking for approval, but still asks before performing git commit/push operations or creating/updating pull requests. This strikes a balance between automation and control over critical version control operations.
10x Mode
In 10x mode, Friday automatically executes all commands including bash, git commit/push, and PR operations without asking for approval. This mode is designed for maximum automation and speed.
Confirmation Prompts
When Friday asks for your approval, keyboard shortcuts let you respond quickly:
- Standard confirmation prompts (e.g., before running a bash command or git operation):
Enter= Yes/Approve,Escape= No/Reject - Inline agent confirmations: any key except
Enteris treated as No
This applies to 2x and 5x mode users who see approval prompts regularly.
Session vs Persistent Settings
When you set approval mode using command-line flags, it only applies to that session and doesn't persist. To make the setting permanent, configure it through the interactive settings menu during a Friday session.
Combining with Other Features
Approval mode works independently from Working Style. Approval mode controls when Friday asks for approval before executing commands (bash, git, PRs), while Working Style controls how Friday communicates and makes decisions (asking clarifying questions vs. using best judgment). You can use any combination of these settings to match your workflow.
When using --prompt for autostart mode, Friday defaults to 10x unless you specify otherwise. You can also combine approval mode with flags like --cowboy or --base-path.
Examples
2x Mode: Careful Code Review
Review every change Friday makes:
friday --2x
Then ask: "Refactor the authentication module to use async/await"
Friday will ask for approval before running any commands.
5x Mode: Rapid Development
Faster development while maintaining control over git operations:
friday --5x
Then ask: "Add input validation to all API endpoints"
Friday will automatically run bash commands but ask before committing changes.
10x Mode: Automated Task Execution
Fully automated task execution:
friday --10x --prompt "Update all dependencies and run tests"
Friday will execute the entire task automatically, including commits and PRs.
Bash Blocklist
The Bash Blocklist lets you define patterns for bash commands that always require your confirmation before running, regardless of your current approval mode. Even in high-trust modes like 10x or 5x, blocklisted commands will pause and prompt you before executing.
The blocklist uses glob-style wildcard patterns, so you can block exact commands or broad categories like all commands matching npm run *.
Managing Patterns
Open Friday's settings and navigate to Bash Tool Blocklist to manage your blocklist. From there you can:
- Add a new pattern
- Remove an existing pattern
- View all currently configured patterns
No commands are blocked by default. The blocklist starts empty.
Pattern Matching
Patterns use Unix shell-style glob matching (Python's fnmatch):
*— Any sequence of characters?— Any single character[abc]— Any character in the set[!abc]— Any character not in the set
Matching is case-sensitive. The first pattern that matches the command triggers the confirmation prompt.
What Happens When a Command Is Blocked
When a command matches a blocklist pattern, Friday pauses and asks:
Can I run this command?
The full command is shown. You can approve or deny:
- Approve — the command runs normally
- Deny — the command is cancelled
This confirmation cannot be bypassed by any approval mode setting.
Examples
Some common patterns to add via the Settings UI:
npm run *— block all npm run commandsgit push *— block any git push to any remoterm -rf *— block destructive rm commandsgit * main— block pushes to main specifically