How to Update Claude Code Permissions
Claude Code provides two methods for updating permissions: the interactive /permissions
command for real-time management, and manual configuration file editing for persistent setup. Both methods control which tools Claude can use without prompts.
How to Use It
Interactive Method (Recommended):
# Launch the permissions interface
/permissions
Manual Configuration:
Edit your ~/.claude.json
file to add or modify allowed tools:
{
"projects": {
"/path/to/your/project": {
"allowedTools": [
"Read",
"Grep",
"Bash(git log:*)",
"Edit",
"MultiEdit",
"Write"
]
}
}
}
Why Use It
The /permissions
interface provides real-time permission management with a fluid, responsive experience that makes configuration changes effortless. No need to restart Claude Code or manually edit configuration files when you need to adjust tool access during active sessions.
Interactive Benefits:
- Real-Time Updates - Changes apply immediately without restarting Claude Code
- Visual Navigation - Intuitive UI instead of JSON file editing
- Current Status - View which tools are currently allowed or denied
- Explicit Control - Grant or block access to specific tools or patterns
- No Manual Editing - Avoid syntax errors in configuration files
Manual Configuration Benefits:
- Bulk Configuration - Set up multiple projects or complex tool patterns
- Documentation - Clear record of permission decisions and rationale
Benefits
Configuration Flexibility:
- Multiple Locations - Project-specific
.claude/settings.local.json
or project-specific~/.claude.json
stored globally (recommended for reliability) - Pattern Matching - Restrict tools to specific commands like
Bash(git log:*)
for safety - Granular Control - Allow read operations while requiring prompts for write operations
- Tool Categories - Configure entire tool families or individual commands
Both methods create workflow transparency by making permission decisions explicit and auditable, ensuring you understand exactly which operations are automated versus requiring oversight.
Use ~/.claude.json
for reliability as the primary configuration location. Multiple file locations exist due to legacy compatibility.
Consider allowing Read
, Grep
, and LS
for research while restricting Bash
and Edit
operations to maintain safety controls where needed.
See Also: Configuration Guide|Allowed Tools|Auto-Accept Permissions