[BUG] Hot-reload permissions from settings.local.json without session restart

Resolved 💬 3 comments Opened Mar 13, 2026 by amcclassics Closed Mar 16, 2026

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.")

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗