settings-consolidator
Settings Consolidator
Scan every .claude/settings.local.json across your home directory, deduplicate the permissions, collapse supersets, and merge the result into your global ~/.claude/settings.local.json. This saves you from clicking "allow" on the same commands over and over as you move between projects. The output is a categorized report showing exactly what was merged, what was collapsed, and what was flagged as project-specific.
Bootstrap Mode
When the user wants autonomous sessions — "stop prompting me", "I want to go to sleep and let this run", "bootstrap permissions", "set up for unattended builds", or "I keep getting permission prompts" — use this workflow instead of (or before) the consolidation workflow.
Why Sessions Get Interrupted
Permission prompts in long-running sessions come from three gaps, in order of how often they bite:
-
Missing shell operators. Commands like
git log --oneline | head -5ornpm test && npm run builduse pipes, chains, and redirects. WithoutBash(* | *),Bash(* && *),Bash(* > *), etc., every compound command prompts. This is the #1 cause of interruptions and the one most people miss entirely. -
Missing Claude tool permissions. Spawning subagents (
Agent(*)), editing files (Edit(**)), entering plan mode (EnterPlanMode(*)), using worktrees (EnterWorktree(*)), or managing tasks (Task(**)) all need explicit permissions. Without them, multi-agent and orchestrated workflows stall. -
Colon-wildcard gaps.
Bash(git:*)is narrower thanBash(git *). Claude Code generates colon-wildcards when a user clicks "allow" on a specific invocation, but space-wildcards are strictly broader and catch command variations that colon-wildcards miss. Always preferBash(cmd *)overBash(cmd:*).