[BUG] an invalid settings.local.json leads to silent, bad, undefined behavior

Resolved 💬 9 comments Opened Sep 21, 2025 by jasonswearingen Closed Jan 8, 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?

I had an invalid settings.local.json. I found out running /status which said as such.

I was troubleshooting because my .mcp.json file was not being loaded.

Also previously I noticed that none of my allow/deny in settings.local.json was doing anything, since there are known bugs about that, I thought it was unrelated (and have always been running --dangerously-skip-permissions)

when I fixed my settings.local.json, now my allow/deny works again, and my .mcp.json is being loaded properly.

so it seems an invalid settings file just stops config from being loaded, so only defaults. The problem is that this is a silent error, and your configs just don't work.

What Should Happen?

I think you should be very explicit that there is an error with a config file, and/or just prevent claude-code from running in that situation

Error Messages/Logs

no error messages.  just have to run `/status` and see the `settings.local.json` wasn't loaded.

Steps to Reproduce

I added Bash(*) to my Allow settings, which causes the settings file to be deemed invalid.

Claude Model

None

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

1.0.120 (Claude Code)

Platform

Anthropic API

Operating System

Windows

Terminal/Shell

VS Code integrated terminal

Additional Information

_No response_

View original on GitHub ↗

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