Verified against the official docs on 30 August 2026

Everything Claude Code loads,
and what wins when they disagree.

Claude Code's configuration is not one system. It is seven independent subsystems that happen to share a .claude/ directory, with different file formats, different discovery rules, and sometimes opposite precedence rules. This is the map.

~/work/platform — claude
$ claude
# session start, in order
settings   managed  cli  local  project  user   override
agents     managed  cli  project  user  plugin  shadow
skills     enterprise  personal  project      shadow, reversed
memory     /etc  ~  /work  ./  ./local        additive, nobody wins
rules      unscoped now, paths: globs on demand    additive
hooks      every matching hook, every source      all of them run

# when something looks wrong
> /context

The distinction that resolves most questions

Prose, config, and code

Every mechanism falls into one of three families, and the family decides what happens when two pieces of configuration disagree.

Proseis a request

CLAUDE.md · rules · skills · output styles

Text concatenated into the prompt. Conflicts resolved by the model, non-deterministically.

Configis a rule

settings.json · agent frontmatter · permissions

Structured values. Conflicts resolved by a defined precedence order.

Codeis enforcement

hooks

Shell commands that run and can block. Not a conflict at all: it fires or it does not.

If something absolutely must happen every time, it belongs in a hook, not in CLAUDE.md.


Cost profile

Not every layer costs the same

CLAUDE.md is the most expensive place to put anything, because it is paid for on every single turn whether relevant or not. This table is the reason "put everything in CLAUDE.md" stops working at scale.

See the full breakdown →
  • CLAUDE.mdFull text, every turn
  • Rule without paths:Full text, every turn
  • Rule with paths:Zero until a matching file is touched
  • SkillOne description line
  • Skill, model-invocation offZero
  • SubagentOne description line; work runs elsewhere
  • HookZero, it runs outside the model

Contents

Sixteen sections

Read it in order the first time. After that, the two pages you will come back to areconflicting rules andrecipes.


If you read nothing else

The five things worth memorising

  1. 01

    Memory files are additive, not hierarchical. Contradictions are resolved by the model, unpredictably. Remove them rather than ranking them.

    Read why →
  2. 02

    Skills: personal beats project. Agents: project beats personal. Opposite directions, no mnemonic.

    Read why →
  3. 03

    CLAUDE.md is the most expensive place to put anything. Path-scoped rules and skills are nearly free until used.

    Read why →
  4. 04

    Prose is a request; config is a rule; hooks are enforcement. Match the mechanism to how badly you need it to hold.

    Read why →
  5. 05

    /context before theorising. Most "Claude ignored my instruction" reports are "the instruction was never loaded".

    Read why →