name: init-perms
Initialize project-local Claude Code permissions for a comfortable development experience.
Creates .claude/settings.local.json in the current project with pre-approved permissions for common development tools:
git:*)ls, mkdir, cat, wc, treejq, yqnpm, node, python, uv, pipjustcurlpowershell/init-perms
│
├─→ Check if .claude/settings.local.json exists
│ ├─ If exists: Ask to overwrite or merge
│ └─ If not: Proceed
│
├─→ Create .claude directory if needed
│
└─→ Write settings.local.json with standard permissions
ls -la .claude/settings.local.json 2>/dev/null
If file exists, show contents and ask user:
mkdir -p .claude
Write this content to .claude/settings.local.json:
{
"permissions": {
"allow": [
"Bash(git:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(cat:*)",
"Bash(wc:*)",
"Bash(jq:*)",
"Bash(yq:*)",
"Bash(npm:*)",
"Bash(node:*)",
"Bash(python:*)",
"Bash(uv:*)",
"Bash(pip:*)",
"Bash(just:*)",
"Bash(tree:*)",
"Bash(curl:*)",
"Bash(powershell -Command:*)",
"Bash(powershell.exe:*)"
],
"deny": [],
"ask": []
},
"hooks": {}
}
Report to user:
Created .claude/settings.local.json with development permissions.
Allowed tools:
- git, ls, mkdir, cat, wc, tree
- jq, yq (data processing)
- npm, node, python, uv, pip
- just, curl, powershell
To customize: edit .claude/settings.local.json
To add to git: git add .claude/settings.local.json
| Flag | Effect |
|---|---|
--force |
Overwrite existing without asking |
--minimal |
Only git, ls, cat, mkdir |
--full |
Add additional tools (docker, kubectl, etc.) |
{
"permissions": {
"allow": [
"Bash(git:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(cat:*)"
],
"deny": [],
"ask": []
},
"hooks": {}
}
{
"permissions": {
"allow": [
"Bash(git:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(cat:*)",
"Bash(wc:*)",
"Bash(jq:*)",
"Bash(yq:*)",
"Bash(npm:*)",
"Bash(node:*)",
"Bash(python:*)",
"Bash(uv:*)",
"Bash(pip:*)",
"Bash(just:*)",
"Bash(tree:*)",
"Bash(curl:*)",
"Bash(wget:*)",
"Bash(docker:*)",
"Bash(docker-compose:*)",
"Bash(kubectl:*)",
"Bash(terraform:*)",
"Bash(aws:*)",
"Bash(gcloud:*)",
"Bash(az:*)",
"Bash(powershell -Command:*)",
"Bash(powershell.exe:*)"
],
"deny": [],
"ask": []
},
"hooks": {}
}
~/.claude/settings.json still apply