Chapter 56 · Reviewing Claude Config
Subchapter 56.8
checklists/settings.mdMarkdown6 KBView on GitHub
Review checklist for changes to .claude/settings.json and .claude/settings.local.json.
Before anything else, verify:
If ANY of these fail, FLAG IMMEDIATELY as CRITICAL and stop review.
CRITICAL SECURITY ISSUE: settings.local.json in git
settings.local.json must NEVER be committed. It contains user-specific and potentially sensitive configuration.
Detection:
Check if settings.local.json appears in changed files list. If present in git diff or PR, this is CRITICAL.
Fix:
# Remove from git but keep locally
git rm --cached .claude/settings.local.json
# Ensure .gitignore includes it
echo ".claude/settings.local.json" >> .gitignoreRationale: Local settings may contain:
Committing these exposes sensitive data and creates conflicts between users.
Scan for Common Secret Patterns:
❌ CRITICAL ISSUES:
{
"apiKey": "sk-1234567890abcdef",
"password": "mypassword123",
"token": "ghp_xxxxxxxxxxxx",
"secret": "shared-secret-value"
}✅ SAFE ALTERNATIVES:
{
"apiKeyVar": "$OPENAI_API_KEY",
"authMethod": "environment",
"note": "Set API key in environment: export OPENAI_API_KEY=xxx"
}Common Secret Patterns:
apiKey, api_key, API_KEYpassword, passwd, pwdtoken, auth_token, access_tokensecret, shared_secretsk-, ghp_, gho_, etc.Appropriate Permission Scoping:
❌ TOO BROAD:
{
"autoApprovedTools": ["Read://*", "Write://*", "Bash:*"]
}✅ APPROPRIATELY SCOPED:
{
"autoApprovedTools": [
"Read://Users/username/projects/myproject/**",
"Write://Users/username/projects/myproject/src/**",
"Bash:git status:*",
"Bash:npm install:*"
]
}Permission Guidelines:
Read Permissions:
Read://* (entire filesystem)Write Permissions:
Bash Permissions:
Bash:*git status, npm install, ./gradlew testrm -rf, dd, chmod 777, curl | shSafe vs Dangerous Commands:
✅ SAFE to auto-approve:
{
"autoApprovedTools": [
"Bash:git status:*",
"Bash:git log:*",
"Bash:git diff:*",
"Bash:./gradlew test:*",
"Bash:npm install:*",
"Bash:ls:*"
]
}❌ DANGEROUS - require approval:
{
"autoApprovedTools": [
"Bash:rm -rf:*", // Data destruction
"Bash:git push --force:*", // Destructive git operation
"Bash:chmod 777:*", // Security risk
"Bash:curl * | sh:*", // Arbitrary code execution
"Bash:dd:*", // Low-level disk operations
"Bash:mkfs:*" // Filesystem formatting
]
}Safety Criteria:
Common JSON Issues:
❌ Syntax errors:
{
"autoApprovedTools": [
"Read://path/**" // Trailing comma error
]
}✅ Valid JSON:
{
"autoApprovedTools": ["Read://path/**"]
}Field Validation:
Classify findings using reference/priority-framework.md: