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 (10 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 10 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.2.tar.gz (19.1 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.2-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: yes_claudio-0.1.2.tar.gz
  • Upload date:
  • Size: 19.1 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.2.tar.gz
Algorithm Hash digest
SHA256 ea58666683eb40b6776928f169b57634575db90d9ca7609cf25fa29935e84761
MD5 4d1dab4371a1441932983218b37775a6
BLAKE2b-256 bea2342f444c7a6eede269fc4f0294217030a073214e776791df2a35b345b221

See more details on using hashes here.

File details

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

File metadata

  • Download URL: yes_claudio-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.1 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f71ba7f4fb0c8509c1609a97e245b8434836310e3a33127951166a3549fa3da3
MD5 34997a5cd4bbfdbebbd738a4b10aaf7d
BLAKE2b-256 e8d1928874ea94c82372a652d8f9e3d7c132a312d0d2bbb98e42b9987d33c920

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