Skip to main content

Auto-approve Claude Code permission prompts with a denylist and daily limits

Project description

yes-claudio

Auto-approve Claude Code permission prompts — with a denylist and daily limits.

Quick start

Free (20 approvals/day):

pip install yes-claudio
yes-claudio app

Unlimited: buy at bravoevert.gumroad.com/l/yes-claudio, then:

yes-claudio activate YOUR-SERIAL-KEY
yes-claudio app

Prefer uv? uv tool install yes-claudio then yes-claudio app.


How it works

yes-claudio installs a PreToolUse hook in ~/.claude/settings.json. Every time Claude Code would show you a permission prompt, the hook intercepts it and returns allow — unless the command matches the denylist, in which case it returns ask (the prompt appears normally).

Tier Daily limit Price
Free 20 approvals/day $0
Paid Unlimited $2 one-time

The GUI shows a tray icon (green = active, orange = daily limit reached, grey = inactive) and a panel with your approval count and license status.


Installation

Requirements:

  • Python 3.11+
  • macOS: brew install python-tk@3.14 (tkinter is not bundled with Homebrew Python)
  • Windows/Linux: no extra dependencies
pip install yes-claudio

Usage

Start the app (tray + panel)

yes-claudio app

Open panel only

yes-claudio panel

Activate a license key

yes-claudio activate XXXX-XXXX-XXXX-XXXX

The hook is registered automatically when you click "Ativar hook" in the panel, or you can enable it from the tray menu.


Denylist — what's always blocked

These patterns are always sent back to you for review (ask), regardless of tier:

Pattern Reason
rm -rf Recursive deletion
git push --force / git push -f Force push
git reset --hard Discards uncommitted changes
DROP TABLE / DROP DATABASE / TRUNCATE Destructive SQL
sudo Privilege escalation
dd Low-level disk write
mkfs / fdisk / parted Disk partitioning
chmod 777 /etc System-wide permission change
curl | bash / wget | bash Remote code execution
shred Secure file deletion
shutdown / reboot / halt System power commands
/etc/, /usr/, /bin/, /sbin/ System paths

You can add custom patterns via the "Editar Denylist" button in the panel (supports regex or simple wildcards with * and ?).


Manual configuration (no GUI)

yes-claudio writes this entry to ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "yes-claudio hook",
            "timeout": 10,
            "_tag": "autoconfirm-hook"
          }
        ]
      }
    ]
  }
}

To disable, remove the entry above or uncheck "Hook ativo" in the panel.


Uninstall

To remove all traces of yes-claudio:

yes-claudio uninstall

This removes:

  • The hook entry from ~/.claude/settings.json
  • ~/.config/autoconfirm/ (approvals log, license token, custom denylist)
  • The package itself (via uv tool uninstall or pip uninstall)

Use --yes / -y to skip the confirmation prompt (useful in scripts).

You can also uninstall from the panel GUI via the red "Desinstalar yes-claudio" button at the bottom.


FAQ

How do I know it's active? Green tray icon in the menu bar. You can also run yes-claudio hook manually and pipe JSON to it — it should return {"hookSpecificOutput": {"hookEventName": "PreToolUse", "permissionDecision": "allow", ...}}.

What happens when I hit the daily limit? The hook returns ask — Claude Code shows the normal permission prompt. The panel banner turns orange and displays an upgrade link.

Is it safe? Dangerous commands (see denylist above) are always escalated to you. The hook is fail-safe: any internal error returns ask, so Claude Code never auto-approves silently on a crash.

Can I use it on multiple machines? Yes — up to 2 activations per serial. To move to a new machine, contact support to reset.

Does it work with --dangerously-skip-permissions? No — yes-claudio detects that mode and steps aside. That mode already bypasses prompts; there's nothing to approve.

Where is data stored?

  • ~/.config/autoconfirm/data.json — daily counts and approval log
  • ~/.config/autoconfirm/license.json — license token (local, no server)
  • ~/.config/autoconfirm/denylist.json — custom patterns

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

yes_claudio-0.1.3.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

yes_claudio-0.1.3-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file yes_claudio-0.1.3.tar.gz.

File metadata

  • Download URL: yes_claudio-0.1.3.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for yes_claudio-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e12cda77c72fdfadde175fc5c544cf44750607199847e8c9e9acb3e10a0a8bf6
MD5 96076fc5922b17854990d1c097932039
BLAKE2b-256 dcdfca5d64ff36b6889a9aa9804e6f397aa534eb7c390d0589582b16376de8bd

See more details on using hashes here.

File details

Details for the file yes_claudio-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: yes_claudio-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 16.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for yes_claudio-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8cb3c4c3555898db7f438505d5833d73e276fe6948dcac580f699179cff98ebb
MD5 e24c730a9aa0dded7047a5f95c0cb3ee
BLAKE2b-256 d1fb65165b214fd5e3b8cd47267f6580da047d2192cde276b9eeb2022bbc1c28

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page