SOP-004: Settings & Configuration
DOCUMENT CONTROL
| Field | Value |
|---|---|
| SOP ID | SOP-004 |
| Version | 1.0 |
| Status | Active |
Purpose
Configure Claude Code settings for optimal workflow, including permissions, preferences, and behavior customization.
Settings Hierarchy
┌─────────────────────────────────────────────────────────────────────┐
│ SETTINGS HIERARCHY │
└─────────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────┐
│ GLOBAL SETTINGS │
│ ~/.claude/settings.json │
│ (applies to all projects) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ PROJECT SETTINGS │
│ .claude/settings.json │
│ (project-specific overrides) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ CLAUDE.md FILES │
│ Context and instructions │
│ (per-directory scope) │
└─────────────────────────────────────────────────────────────┘Accessing Settings
Via Slash Command
bash
> /configOpens interactive settings menu:
┌─────────────────────────────────────────────────────────────────────┐
│ CONFIGURATION MENU │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ 1. Model Selection │
│ 2. Tool Permissions │
│ 3. API Configuration │
│ 4. Theme & Display │
│ 5. Memory Settings │
│ 6. MCP Servers │
│ │
│ [↑/↓] Navigate [Enter] Select [q] Quit │
│ │
└─────────────────────────────────────────────────────────────────────┘Via CLI
bash
# View all settings
claude config
# Set specific option
claude config set model claude-sonnet-4
# Get specific value
claude config get themeKey Settings Categories
1. Model Selection
json
{
"model": "claude-sonnet-4",
"customModels": {
"opus": "claude-opus-4-20250514"
}
}Available models:
claude-sonnet-4(default, balanced)claude-opus-4(most capable)claude-haiku(fastest)
2. Tool Permissions
json
{
"permissions": {
"allow": [
"Read",
"Glob",
"Grep"
],
"deny": [
"Bash(rm -rf:*)"
],
"askEveryTime": [
"Write",
"Edit"
]
}
}Permission types:
| Type | Behavior |
|---|---|
allow | Auto-approve matching tools |
deny | Always block matching tools |
askEveryTime | Prompt for approval |
3. Context Settings
json
{
"context": {
"includeDotfiles": false,
"ignorePatterns": [
"node_modules",
".git",
"dist"
],
"maxFileSize": "1MB"
}
}4. Theme & Display
json
{
"theme": "dark",
"showTokenCount": true,
"showCost": true,
"verboseErrors": false
}Settings File Locations
| Scope | Location | Purpose |
|---|---|---|
| Global | ~/.claude/settings.json | User defaults |
| Project | .claude/settings.json | Project overrides |
| Enterprise | Managed by admin | Organization policies |
Project-Specific Settings
Create .claude/settings.json in project root:
json
{
"model": "claude-opus-4",
"permissions": {
"allow": [
"Bash(npm:*)",
"Bash(git:*)"
]
},
"context": {
"ignorePatterns": [
"coverage",
"*.log"
]
}
}CLAUDE.md Configuration
Create CLAUDE.md for context:
markdown
# Project: My App
## Overview
Web application using React and Node.js
## Tech Stack
- Frontend: React 18, TypeScript
- Backend: Express, PostgreSQL
- Testing: Jest, Cypress
## Conventions
- Use functional components
- Follow ESLint config
- Write tests for new features
## Important Files
- `src/config.ts` - Main configuration
- `src/api/` - API routesEnvironment Variables
| Variable | Purpose |
|---|---|
ANTHROPIC_API_KEY | API authentication |
CLAUDE_CODE_DEBUG | Enable debug logging |
CLAUDE_CODE_DISABLE_TELEMETRY | Opt out of usage data |
Verification Checklist
- [ ] Access settings via
/config - [ ] Understand settings hierarchy
- [ ] Configure tool permissions
- [ ] Create project CLAUDE.md
- [ ] Know environment variables