I've been slowly making small improvements to my workflow with claude and I've been jotting down some of them
Auto approving common safe commands
Getting asked Allow this command? for git status gets old really fast. Accepting "always allow X commands" barely works, since most time commands are slightly different and will keep interrupting you.
So I configured Claude autoApprove settings with a bunch of commands that are safe to approve so there's way less nagging
What I auto-approve
I auto-approve anything read-only or safe:
- Git read operations (
git status,git diff,git log) - GitHub CLI views (
gh pr view,gh issue list) - File reading (
cat,ls, viewing my home directory files) - Documentation fetches (Claude docs, Google)
- Version checks (
node --version,npm --version)
For commands that execute code like npm install or npm run, I don't auto-approve them globally, but you can enable them per-project by creating .claude/settings.json in trusted repos
How to set it up
Just ask Claude to do it for you! Here's a useful prompt
I want to configure Claude's permissions - update my allow setting to stop being asked for permission on common safe commands. Please help me:
1. Read my current ~/.claude/settings.json file
2. Add or update the "permissions" object with an "allow" array containing these safe commands:
- Git read-only operations (status, diff, log, show, branch, remote)
- GitHub CLI view operations (pr view, pr diff, issue list, repo view)
- Package manager installs (npm install, pip install)
- File/system info commands (cat, ls, pwd, which, echo)
- Version checks (node --version, npm --version, python --version, etc.)
- Web fetching for documentation (code.claude.com, docs.claude.com, google.com)
- Read access to all files in my current project directory
3. Make sure to preserve any existing settings in the file and don't add duplicates
4. Use the correct syntax: Bash(command:...:*) for bash commands with wildcards
5. Double check they are safe and show me what you will add before you do so I can verify it.
After setup, show me how to verify it's working and how to add more commands in the future.
Claude will update your settings file with the right patterns. You can ask it to review the commands or even suggest new ones, re-check if they are safe, etc.
Be specific with your patterns. Bash(command:git:*) approves ALL git commands, including dangerous ones like git push --force.
Use Bash(command:git status) or Bash(command:git diff:*) instead.
Here is what it looks like when you run the prompt
