Skip to content

Latest commit

Β 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Claude Chrome YOLO Mode

"I didn't see a --dangerously-skip-permissions flag for Claude Chrome... so I made one."

yolo macos license

The Problem

You're vibing with Claude in Chrome, building something cool, when suddenly:

πŸ›‘ PERMISSION REQUIRED
Claude wants to navigate to example.com
[Allow Once] [Allow for Session] [Deny]

Every. Single. Time.

You trust Claude. Claude trusts you. Why are we doing this dance?

The Solution

An AppleScript that runs in the background and automatically smashes that approve button faster than you can say "I accept the consequences of my actions."

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Claude Permission Popup        β”‚
β”‚                                 β”‚
β”‚  Claude wants to do a thing     β”‚
β”‚                                 β”‚
β”‚  [Allow Once] [Allow Session]   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                 β”‚
                 β”‚ 0.1 seconds later
                 β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                 β”‚
β”‚         ✨ APPROVED ✨           β”‚
β”‚                                 β”‚
β”‚   You didn't even see it.       β”‚
β”‚                                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Installation

1. Clone this bad boy

git clone https://github.com/chadboyda/claude-chrome-yolo.git
cd claude-chrome-yolo

2. Copy the scripts

mkdir -p ~/scripts
cp claude-auto-approve.scpt ~/scripts/
cp claude-auto-approve.sh ~/scripts/
chmod +x ~/scripts/claude-auto-approve.sh

3. Grant Accessibility Permissions

The script needs to click buttons on your behalf. macOS will ask for permission.

  1. Open System Settings β†’ Privacy & Security β†’ Accessibility
  2. Click the + button
  3. Navigate to /usr/bin/osascript (press Cmd+Shift+G and paste the path)
  4. Enable the toggle

4. Install the LaunchAgent (auto-start on login)

cp com.claude.autoapprove.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.claude.autoapprove.plist

5. Verify it's running

launchctl list | grep claude
# Should show: XXXX  0  com.claude.autoapprove

Usage

That's it. There is no usage. It just works.

Every time a Claude for Chrome permission popup appears, it gets auto-approved via Cmd+Return (the keyboard shortcut for "Allow for Session").

Manual start/stop

# Start manually (if not using LaunchAgent)
~/scripts/claude-auto-approve.sh

# Stop the LaunchAgent
launchctl unload ~/Library/LaunchAgents/com.claude.autoapprove.plist

# Restart the LaunchAgent
launchctl unload ~/Library/LaunchAgents/com.claude.autoapprove.plist
launchctl load ~/Library/LaunchAgents/com.claude.autoapprove.plist

The Scripts

claude-auto-approve.scpt

The main AppleScript that polls for Claude permission windows every 0.5 seconds:

on run
    repeat
        try
            tell application "System Events"
                tell process "Google Chrome"
                    set claudeWindows to (every window whose name starts with "Claude for Chrome")
                    if (count of claudeWindows) > 0 then
                        set claudeWindow to item 1 of claudeWindows
                        set frontmost to true
                        perform action "AXRaise" of claudeWindow
                        delay 0.1
                        keystroke return using command down
                        log "Auto-approved Claude permission"
                    end if
                end tell
            end tell
        on error errMsg
        end try
        delay 0.5
    end repeat
end run

claude-auto-approve.sh

Shell wrapper for running the AppleScript in the background:

#!/bin/bash
osascript ~/scripts/claude-auto-approve.scpt &
echo "Claude Auto-Approve running in background (PID: $!)"

com.claude.autoapprove.plist

LaunchAgent for auto-starting on login:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.claude.autoapprove</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/osascript</string>
        <string>/Users/YOUR_USERNAME/scripts/claude-auto-approve.scpt</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/claude-auto-approve.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/claude-auto-approve.err</string>
</dict>
</plist>

Note: Replace YOUR_USERNAME with your actual macOS username, or just run the install commands above which use ~.

Troubleshooting

Script not triggering?

  1. Check if it's running: launchctl list | grep claude
  2. Check logs: cat /tmp/claude-auto-approve.log
  3. Verify accessibility permissions are granted for /usr/bin/osascript

Window not detected?

The script matches windows starting with "Claude for Chrome". Different Chrome profiles append their name (e.g., "Claude for Chrome - Work"). This is handled automatically.

Test detection manually:

osascript -e 'tell application "System Events" to tell process "Google Chrome" to get name of (every window whose name starts with "Claude for Chrome")'

Fine Print

*Adjusts reading glasses*

Disclaimer

By using this software, you acknowledge that:

  1. You are disabling a security feature. The permission prompts exist to protect you from malicious websites that might try to hijack Claude to do bad things. By auto-approving everything, you're trusting that:

    • Every website you visit is benign
    • Claude won't be tricked by prompt injection
    • You're okay with Claude having free reign over your browser
  2. This is basically sudo for your browser. Remember how your sysadmin told you not to run everything as root? Same energy.

  3. The author(s) are not responsible for any:

    • Accidentally purchased plane tickets to Tahiti
    • Embarrassing emails sent to your entire contact list
    • Cryptocurrency "investments" made on your behalf
    • Browser tabs opened to websites you can't explain to HR
    • Existential crises caused by AI autonomy
  4. You should probably only use this on trusted networks and maybe not while logged into your bank, your work Slack, or that one website you told your partner you stopped visiting.

Security Considerations

For the security-minded folks who made it this far:

  • The script only sends Cmd+Return (Allow for Session), not permanent allows
  • Permissions reset when you close the Claude tab group
  • The script only activates for windows named "Claude for Chrome*"
  • It doesn't read any data, just sends a keyboard shortcut

But still, you know, caveat emptor and all that.

Recommended Setup

If you want some safety rails:

  1. Use a dedicated Chrome profile for Claude automation
  2. Keep sensitive accounts logged out in that profile
  3. Review Claude's actions periodically
  4. Don't leave it running when you're not actively using Claude

Or don't. I'm a README, not a cop.


License

MIT License - Do whatever you want, just don't blame me.

Contributing

Found a bug? Want to add Windows/Linux support? PRs welcome.

Want to tell me this is a bad idea? You're probably right, but here we are.


Made with reckless abandon by someone who got tired of clicking "Allow"

About

Auto-approve Claude for Chrome permission popups. The --dangerously-skip-permissions flag that doesn't exist.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages