Smart permission filter for Claude Code that auto-approves safe operations.
Claude Code needs permission → ccyolo evaluates → Auto-approve or ask user
This tool automatically approves operations without explicit user confirmation. While it includes safety guardrails and uses Claude to evaluate requests, you are solely responsible for any actions taken.
curl -fsSL https://raw.githubusercontent.com/9roads/ccyolo/main/install.sh | bashgo install github.com/9roads/ccyolo@latest# 1. Register hook with Claude Code
ccyolo install
# 2. Store API key in system keychain (interactive)
ccyolo setup
# 3. Restart Claude Codeccyolo # Show status
ccyolo enable # Enable auto-approval
ccyolo disable # Disable (ask user for everything)
ccyolo preset NAME # Set preset: strict, balanced, permissive
ccyolo update # Self-update to latest version
ccyolo uninstall # Remove hook from Claude Code| Preset | Behavior |
|---|---|
strict |
Only auto-approve read operations |
balanced |
Auto-approve common dev tasks (default) |
permissive |
Auto-approve almost everything |
Always approved:
- Reading files, searching code
git status,git log,git diff,git add- Listing directories, version checks
Approved by Claude AI:
- File writes/edits in projects
- Package installation (
npm install,pip install) - Running tests, builds, linters
git commit
Always asks user:
sudocommandsgit push --force- Creating PRs/releases
- Deleting important files
- Writing to system directories
ccyolo needs an Anthropic API key for AI-based safety evaluation.
Option 1: System keychain (recommended)
ccyolo setupOption 2: Environment variable
export ANTHROPIC_API_KEY="sk-ant-..."
# or
export CCYOLO_API_KEY="sk-ant-..."- Claude Code requests permission for a tool use
- ccyolo intercepts via PreToolUse hook
- Checks static allow/deny rules (fast path)
- If no rule matches, asks Claude API to evaluate
- Caches decision (24h TTL)
- Auto-approves safe ops, asks user for risky ones
Config stored in ~/.config/ccyolo/config.json:
{
"enabled": true,
"preset": "balanced",
"model": "claude-sonnet-4-20250514",
"cache_ttl": 86400,
"verbose": false
}ccyolo uninstall # Remove hook from Claude Code
sudo rm /usr/local/bin/ccyolo # Remove binaryMIT
THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY ARISING FROM THE USE OF THIS SOFTWARE.