Constant permission prompts are tiring, and the temptation is to switch everything off. There is a better way. Reduce prompts by pre-approving the specific, safe things you do all the time, while keeping a check on everything else.
Allow what is safe and repeated
The prompts that annoy you most are the ones for commands you approve every single time: reading files, searching, running tests, checking git status. These are read-only or low-risk. Put them on the allow list once and they stop asking:
{
"permissions": {
"allow": [
"Read",
"Grep",
"Glob",
"Bash(npm run lint)",
"Bash(npm run test:*)",
"Bash(git status)",
"Bash(git diff:*)"
]
}
}
This alone removes most of the noise in a typical session, because most prompts come from a small set of repeated commands.
Keep a deny list for the sharp edges
Allowlisting works best alongside a deny list for the commands that could cause real damage. Blocking a push or a delete outright means you never approve one by accident:
{
"permissions": {
"deny": [
"Bash(git push:*)",
"Bash(rm -rf:*)"
]
}
}
Choose the right mode too
Mode and rules work together. If you are carrying out an approved plan, accept-edits mode removes edit prompts while still stopping before commands. Combine that with a tuned allow list and you get a quiet session that still checks the things worth checking.
The principle
Safe prompt reduction is targeted, not total. You name the trusted commands and let them through. You leave the risky ones prompting or blocked. That keeps the friction low and the guardrails up, which is the opposite of turning every check off.
Comments
Be the first to comment.