[BUG] Permissions in .claude/settings.local.json keep getting wiped when adding new permission when prompted.

Resolved 💬 2 comments Opened Aug 31, 2025 by LiamKarlMitchell Closed Aug 31, 2025

Environment

  • Platform (select one):
  • [ ] Anthropic API
  • [ ] AWS Bedrock
  • [ ] Google Vertex AI
  • [x] Other: <!-- specify --> Claude Pro plan
  • Claude CLI version: 1.0.98 (Claude Code)
  • Operating System: Windows 10 & WSL 2 running Ubuntu <!-- e.g. macOS 14.3, Windows 11, Ubuntu 22.04 -->
  • Terminal: Windows Terminal, Vscode terminal, bash<!-- e.g. iTerm2, Terminal App -->

Bug Description

I have settings local json with allowed permissions.
When I add an "always" do something when claude prompts to run a command/checks with me.

The settings json seems to be getting wiped.

{
  "permissions": {
    "allow": [
      "mcp__playwright__*",
      "mcp__context7__*",
      "mcp__task-master-ai__*",
      "Bash(pnpm add:*)",
      "Bash(pnpm build:*)",
      "Bash(pnpm build)",
      "Bash(pnpm tauri *)",
      "mcp__playwright__browser_snapshot",
      "mcp__playwright__browser_navigate",
      "mcp__playwright__browser_take_screenshot",
      "mcp__playwright__browser_console_messages",
      "mcp__playwright__browser_evaluate",
      "mcp__playwright__browser_navigate",
      "mcp__playwright__browser_snapshot",
      "mcp__playwright__browser_take_screenshot",
      "mcp__task-master-ai__get_task",
      "Bash(pnpm dev:frontend:*)",
      "mcp__task-master-ai__next_task",
      "mcp__task-master-ai__set_task_status",
      "Bash(rustc:*)",
      "Bash(tsc:*)",
      "Bash(rustfmt:*)",
      "Bash(eslint:*)",
      "Bash(prettier:*)",
      "Bash(ls:*)",
      "Bash(cat:*)",
      "Bash(head:*)",
      "Bash(tail:*)",
      "Bash(grep:*)",
      "Bash(find:*)",
      "Bash(which:*)",
      "Bash(where:*)",
      "Bash(pwd:*)",
      "Bash(echo:*)",
      "Bash(printf:*)",
      "Bash(wc:*)",
      "Bash(sort:*)",
      "Bash(uniq:*)",
      "Bash(awk:*)",
      "Bash(sed:*)",
      "Bash(cut:*)",
      "Bash(tr:*)",
      "Bash(mkdir:*)",
      "Bash(touch:*)",
      "Bash(cp:*)",
      "Bash(mv:*)",
      "Bash(git diff:*)",
      "Read(*)",
      "Edit(*)",
      "Create(*)",
      "Write(*)",
      "Delete(*)",
      "Grep(*)",
      "Glob(*)",
      "LS(*)",
      "WebFetch(domain:github.com)",
      "WebFetch(domain:docs.*)",
      "WebFetch(domain:api.*)",
      "WebFetch(domain:raw.githubusercontent.com)",
      "WebFetch(domain:stackoverflow.com)",
      "WebFetch(domain:developer.mozilla.org)",
      "task-master-ai *"
    ],
    "deny": [],
    "ask": []
  },
  "enableAllProjectMcpServers": true,
  "enabledMcpjsonServers": [
    "task-master-ai"
  ]
}

Steps to Reproduce

  1. Have settings.local.json permissions set in repo project.
  2. do a command that asks permission
  3. tell it to always allow the command.

Expected Behavior

Add the command to the allow list.

Actual Behavior

Config seems to be getting wiped?

Additional Context

<!-- Add any other context about the problem here, such as screenshots, logs, etc. -->

View original on GitHub ↗

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