Set Up Permissions to Avoid Constant Approvals
Tired of approving php artisan test every time? The quickest way to set this up is with /update-config:
/update-config
"Allow all php artisan commands"
"Allow vendor/bin/pint"
"Allow npm run build"
This writes the rules directly to your .claude/settings.json. You can also edit it manually:
{
"permissions": {
"allow": [
"Bash(php artisan *)",
"Bash(vendor/bin/pint *)",
"Bash(npm run *)"
]
}
}
You can scope permissions to specific projects by using .claude/settings.local.json in the project root instead of the global settings file (~/.claude/settings.json). Per-project is usually the better choice — your Laravel app doesn't need the same permissions as a Node service.
Be thoughtful about what you allow — you probably don't want to auto-approve rm -rf or git push --force. The goal is to reduce friction for safe, common operations while keeping guardrails on destructive ones.
Log in to leave a comment.
When Claude writes error messages, button labels, validation text, or onboarding flows, it defaults to generic developer-speak. Add a "Users" section to your CLAUDE.md describing who your actual users are — their technical level, industry jargon, and what they care about — so Claude writes copy that makes sense to THEM, not to developers.
Use the --agent flag with custom markdown files in .claude/agents/ to launch purpose-built Claude sessions with restricted tools and scoped system prompts.
Every project has traps — the billing module that silently fails if you forget to queue the job, the legacy table with column names that don't match the model, the config value that must be set before tests run. Document these gotchas in your CLAUDE.md so Claude avoids the same mistakes your team spent days debugging.