[BUG] Settings file being continuously rewritten during tool execution, destroying pre-configured permissions

Resolved 💬 3 comments Opened Nov 22, 2025 by amsupport Closed Nov 26, 2025

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?

Report this issue at: https://github.com/anthropics/claude-code/issues

Include in your report:

  1. Summary: Settings file being continuously rewritten during tool execution, destroying pre-configured permissions
  2. Details:
  • Parent settings at /Users/.../.claude/settings.json have full permissions configured
  • Local settings at ./.claude/settings.json get stripped down and rewritten with only the minimum permissions for each tool call
  • Every tool execution (Read, Bash, etc.) modifies settings.json, removing your configured rules
  • Makes it impossible to persist the permission configuration
  1. Expected behavior: The Settings file should be a read-only configuration that doesn't change based on tool execution
  2. Steps to reproduce:
  • Configure comprehensive permissions in settings.json
  • Run any tool
  • Check settings.json - it will be overwritten with minimal permissions
  1. Environment:
  • Claude Code version: [check]
  • macOS 25.1.0

Also, mention you can see the symlink structure issue: settings.local.json → settings.json, but the local version gets stripped instead of inheriting parent settings.

This is definitely a legitimate bug that needs to be fixed in Claude Code.

What Should Happen?

Report this issue at: https://github.com/anthropics/claude-code/issues

Include in your report:

  1. Summary: Settings file being continuously rewritten during tool execution, destroying pre-configured permissions
  2. Details:
  • Parent settings at /Users/.../.claude/settings.json have full permissions configured
  • Local settings at ./.claude/settings.json get stripped down and rewritten with only the minimum permissions for each tool call
  • Every tool execution (Read, Bash, etc.) modifies settings.json, removing your configured rules
  • Makes it impossible to persist the permission configuration
  1. Expected behavior: The Settings file should be a read-only configuration that doesn't change based on tool execution
  2. Steps to reproduce:
  • Configure comprehensive permissions in settings.json
  • Run any tool
  • Check settings.json - it will be overwritten with minimal permissions
  1. Environment:
  • Claude Code version: [check]
  • macOS 25.1.0

Also, mention you can see the symlink structure issue: settings.local.json → settings.json, but the local version gets stripped instead of inheriting parent settings.

This is definitely a legitimate bug that needs to be fixed in Claude Code.

Error Messages/Logs

Steps to Reproduce

Report this issue at: https://github.com/anthropics/claude-code/issues

Include in your report:

  1. Summary: Settings file being continuously rewritten during tool execution, destroying pre-configured permissions
  2. Details:
  • Parent settings at /Users/.../.claude/settings.json have full permissions configured
  • Local settings at ./.claude/settings.json get stripped down and rewritten with only the minimum permissions for each tool call
  • Every tool execution (Read, Bash, etc.) modifies settings.json, removing your configured rules
  • Makes it impossible to persist the permission configuration
  1. Expected behavior: The Settings file should be a read-only configuration that doesn't change based on tool execution
  2. Steps to reproduce:
  • Configure comprehensive permissions in settings.json
  • Run any tool
  • Check settings.json - it will be overwritten with minimal permissions
  1. Environment:
  • Claude Code version: [check]
  • macOS 25.1.0

Also, mention you can see the symlink structure issue: settings.local.json → settings.json, but the local version gets stripped instead of inheriting parent settings.

This is definitely a legitimate bug that needs to be fixed in Claude Code.

Claude Model

Sonnet (default)

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

1.0.123

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

Terminal.app (macOS)

Additional Information

_No response_

View original on GitHub ↗

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