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 Enter is 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 commands
  • git push * — block any git push to any remote
  • rm -rf * — block destructive rm commands
  • git * main — block pushes to main specifically