Debug your Claude Code configuration

When Claude ignores an instruction, or a hook, skill or MCP server you set up does nothing, the cause is usually one of three things: the file did not load, it loaded from a different place than you expected, or another file overrode it. Claude Code has commands that show what it actually loaded, so you can stop guessing.

Step 1: see what loaded

Run /context first. It breaks down what fills the context window: the system prompt, tools, MCP tools, subagents, memory files, skills and the conversation. If your CLAUDE.md or a skill is missing from the list, it did not load. Then use the command for the specific thing:

Folder-level CLAUDE.md files in subdirectories load on demand, not at session start, so they do not appear in /context until Claude reads something in that folder.

It loaded but Claude still ignores it

Then the problem is probably how the instruction is written, not whether it loaded. The documentation lists three causes: the instruction is vague enough to read two ways, two files contradict each other, or the file has grown so long that individual rules get less attention. See the memory guide. And if something must happen every time, do not rely on CLAUDE.md: permissions and hooks enforce limits whatever Claude decides. This guide explains which to use.

Settings: which value wins

Settings merge across managed, user, project and local scopes. Managed settings apply first when present. Among the rest, local overrides project, and project overrides user. Command-line flags and environment variables can override again. So a value you set is often just being overridden somewhere else. Run claude doctor in your terminal for read-only diagnostics, including invalid settings files, without starting a session. More in the settings guide.

MCP servers that do not show up

See adding an MCP server.

Hooks that never fire

Run /hooks. If your hook is not listed, it did not load. Hooks go under the "hooks" key in a settings file, not in a standalone file. If it is listed but never fires, look at the matcher:

To watch it live, start a session with claude --debug and trigger the tool call. The log shows which matchers were checked and the hook's exit code. See the hooks guide.

Other usual suspects

Test against a clean configuration

Start with claude --safe-mode. It launches a session with your customizations turned off: CLAUDE.md, skills, plugins, hooks, MCP servers, custom commands and agents, output styles and keybindings. Login, model choice, built-in tools and permissions work as normal, and managed policy from your organization still applies. If the problem disappears, it is one of the things that were switched off, and you can check them one by one with the steps above.

If it persists, start with none of your own configuration at all. In an empty directory, point Claude Code at a fresh config folder and turn off project settings:

CLAUDE_CONFIG_DIR=~/claude-clean/config claude --setting-sources user

In PowerShell, set $env:CLAUDE_CONFIG_DIR = "$HOME/claude-clean/config" first. It stays set for that window until you run Remove-Item Env:CLAUDE_CONFIG_DIR. Expect the first-run setup screens again; that tells you the clean folder is in use. If the problem is gone there, copy your files across one at a time to find the culprit. If it stays, the cause is outside your own configuration, for example managed settings or an environment variable.

Good to know

Try it on something harmless

  1. Run /context and find your CLAUDE.md in the list.
  2. Run /doctor and read what it reports.
  3. Run claude --safe-mode once and notice what is missing.

This follows Anthropic's documentation on debugging your configuration as we read it in October 2026. We are not affiliated with Anthropic. We wrote this from the documentation and have not tested every case. Where this page and the documentation disagree, the documentation wins.

See also: Fix “command not found: claude”.

The free loop-stop skill gives long tasks a limit and a stop rule. If you want a second pair of eyes on your CLAUDE.md and settings, the Tune-Up Kit is a checklist for exactly that.