69 lines
1.2 KiB
Markdown
69 lines
1.2 KiB
Markdown
---
|
|
name: update-config
|
|
description: Configure settings via settings.json - hooks, permissions, env vars.
|
|
when_to_use: When the user wants to configure hooks, permissions, or settings.
|
|
aliases: config-help
|
|
allowed_tools: read_file
|
|
---
|
|
|
|
Help configure the agent settings.
|
|
|
|
## Settings File Locations
|
|
|
|
- Global: `~/.claude/settings.json` applies to all projects.
|
|
- Project: `.claude/settings.json` is project-specific and committed to git.
|
|
- Local: `.claude/settings.local.json` is project-specific and gitignored.
|
|
|
|
## Configurable Settings
|
|
|
|
### Hooks
|
|
|
|
Event-driven shell commands that run on tool use or lifecycle events:
|
|
|
|
- `PreToolUse` runs before a tool executes and can block with exit code 2.
|
|
- `PostToolUse` runs after a tool completes.
|
|
- `PreCompact` runs before conversation compaction.
|
|
|
|
Hook format:
|
|
|
|
```json
|
|
{
|
|
"hooks": {
|
|
"PreToolUse": [
|
|
{
|
|
"matcher": "Bash",
|
|
"hooks": [
|
|
{
|
|
"type": "command",
|
|
"command": "echo 'tool: $TOOL_NAME'"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Permissions
|
|
|
|
Tool permission rules:
|
|
|
|
```json
|
|
{
|
|
"permissions": {
|
|
"allow": ["Read", "Grep", "Glob"],
|
|
"deny": ["Bash(rm:*)"]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Environment Variables
|
|
|
|
```json
|
|
{
|
|
"env": {
|
|
"MY_VAR": "value"
|
|
}
|
|
}
|
|
```
|