[BUG] Hot-reload permissions from settings.local.json without session restart
Preflight Checklist
- [x] I have searched existing issues and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code
What's Wrong?
Permission rules added to .claude/settings.local.json mid-session don't take effect until restart. Settings should be re-read dynamically so users don't
have to lose conversation context just to allow a new command.
What Should Happen?
## Expected behavior
- Permission changes in settings files should be detected and applied dynamically without requiring a restart
- Either watch the file for changes or re-read it before each permission check
Error Messages/Logs
● That's not something I can fix from my side — the permission rules I added should work, but your Claude Code session may need to be restarted to pick up the
new settings in .claude/settings.local.json.
Try restarting Claude Code, then the docker * and /home/user/bin/kubectl * rules should take effect.
Steps to Reproduce
During a deployment workflow, a user realizes certain bash commands (e.g., docker push, kubectl rollout) are prompting for approval. They add the
permission rules to settings.local.json but must restart their session to pick them up, losing conversation context and wasting time.
EOF
)")
Claude Model
None
Is this a regression?
No, this never worked
Last Working Version
_No response_
Claude Code Version
● Bash(claude --version) ⎿ 2.1.74 (Claude Code) ● Claude Code version 2.1.74.
Platform
Anthropic API
Operating System
Windows
Terminal/Shell
WSL (Windows Subsystem for Linux)
Additional Information
● Bash(gh create-issue anthropics/claude-code -t "Hot-reload permissions from settings.local.json without session restart" -d "## Problem
When permission rules are added or modified in .claude/settings.local.json during an active session, they do not take effect until Claude Code is
restarted. This creates friction when users need to allow new commands mid-session — they have to restart and lose their conversation context.
## Current behavior
- Permissions from .claude/settings.local.json are only read at session startup
- Adding a new rule (e.g., Bash(docker *)) requires ending and restarting the session
- This is especially painful during long sessions with accumulated context
## Expected behavior
- Permission changes in settings files should be detected and applied dynamically without requiring a restart
- Either watch the file for changes or re-read it before each permission check
## Use case
During a deployment workflow, a user realizes certain bash commands (e.g., docker push, kubectl rollout) are prompting for approval. They add the
permission rules to settings.local.json but must restart their session to pick them up, losing conversation context and wasting time.")
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗