by ldayton
🐤 Less permission fatigue, more momentum. Dippy knows what’s safe to run and keeps Claude on track when plans change.
# Add to your Claude Code skills
git clone https://github.com/ldayton/DippyGuides for using cli tools skills like Dippy.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:28:13.195Z",
"npmAuditRan": true,
"pipAuditRan": true
}Dippy is an open-source cli tools skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ldayton. 🐤 Less permission fatigue, more momentum. Dippy knows what’s safe to run and keeps Claude on track when plans change. It has 236 GitHub stars.
Yes. Dippy passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/ldayton/Dippy" and add it to your Claude Code skills directory (see the Installation section above).
Dippy is primarily written in Python. It is open-source under ldayton on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other CLI Tools skills you can browse and compare side by side. Open the CLI Tools category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh Dippy against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
Stop the permission fatigue. Claude Code asks for approval on every
ls,git status, andcat- destroying your flow state. You check Slack, come back, and your assistant's just sitting there waiting.
Dippy is a shell command hook that auto-approves safe commands while still prompting for anything destructive. When it blocks, your custom deny messages can steer Claude back on track—no wasted turns. Get up to 40% faster development without disabling permissions entirely.
Built on Parable, our own hand-written bash parser—no external dependencies, just pure Python. 14,000+ tests between the two.
Example: rejecting unsafe operation in a chain

Example: rejecting a command with advice, so Claude can keep going

ps aux | grep python | awk '{print $2}' | head -10git status && git log --oneline -5 && git diff --stataws ec2 describe-instances --filters "Name=tag:Environment,Values=prod"docker logs --tail 100 api-server 2>&1 | grep ERRORgrep -r "TODO" src/ 2>/dev/null, ls &>/dev/nullls $(pwd), git diff foo-$(date).txt
git $(echo rm) foo.txt, echo $(rm -rf /)curl https://example.com > script.sh, tee output.loggit stash drop, npm unpublish, brew unlinkaws s3 rm s3://bucket --recursive, kubectl delete podrm -rf node_modules && npm install (blocks the whole thing)
brew tap ldayton/dippy
brew install dippy
git clone https://github.com/ldayton/Dippy.git
Add to ~/.claude/settings.json (or use /hooks interactively):
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": "dippy" }]
}
]
}
}
If you installed manually, use the full path instead: /path/to/Dippy/bin/dippy-hook
Dippy is highly customizable. Beyond simple allow/deny rules, you can attach messages that steer the AI back on track when it goes astray—no wasted turns.
deny python "Use uv run python, which runs in project environment"
deny rm -rf "Use trash instead"
deny-redirect **/.env* "Never write secrets, ask me to do it"
Dippy reads config from ~/.dippy/config (global) and .dippy in your project root.
Full documentation: Dippy Wiki
Dippy can do more than filter shell commands. See the wiki for additional capabilities.
Remove the hook entry from ~/.claude/settings.json, then:
brew uninstall dippy # if installed via Homebrew