CLI tool for managing Claude Code permission settings across multiple scopes.
- Multi-scope management: View and edit permissions from user, project, and local settings
- Interactive TUI: Terminal-based UI with keyboard navigation
- Batch editing: Manage permissions across multiple projects simultaneously
- Diff visualization: See changes before saving
npm install -g @qqpann/ccutilsOr run directly with npx:
npx @qqpann/ccutils sync-permissions .# Manage permissions in current directory
ccutils sync-permissions .
# Manage permissions across multiple projects
ccutils sync-permissions ~/workspace/*
# Use custom user settings path (for testing)
ccutils sync-permissions --override-user-settings-path ./sandbox/.claude ./sandbox/projects/*| Key | Action |
|---|---|
↑ / ↓ |
Navigate permissions |
← / → |
Cycle scope (U → P → L) |
u / p / l |
Toggle specific scope |
Tab / Shift+Tab |
Switch projects |
Enter |
Save changes |
q |
Quit |
| Scope | File | Description |
|---|---|---|
| User (U) | ~/.claude/settings.json |
Global settings |
| Project (P) | <project>/.claude/settings.json |
Committed project settings |
| Local (L) | <project>/.claude/settings.local.json |
Git-ignored local settings |
git clone https://github.com/qqpann/ccutils.git
cd ccutils
pnpm install
pnpm run build
# Run locally
node dist/index.js sync-permissions .pnpm run dev # Watch mode
pnpm run typecheck # Type check
pnpm test # Run testsThis project uses Changesets for version management.
# After making changes, create a changeset
pnpm changeset
# Follow the prompts to describe your changesWhen you push to main, GitHub Actions will automatically create a "Version Packages" PR. Merging that PR triggers npm publish.
MIT