Module 02

The `.claude` folder: Claude's home

Developer Tools How Claude Code Works

Module 2 — The .claude folder: Claude’s home

← Module 1 | Index | Next: Module 3 →


When Claude works in a project, it creates a hidden folder named .claude. (The leading dot means “hidden” — on Mac, press Cmd+Shift+. in Finder to reveal it; in a terminal, ls -a.) This folder is where all of Claude’s customizations live. Understanding it is the difference between using Claude and configuring Claude.

Two places it lives

  • Project-level — a .claude/ folder inside your specific project. Settings here apply only to that project, and can be shared with teammates through version control.
  • User-level — a ~/.claude/ folder in your home directory. Settings here apply to you, across every project.

What’s inside

settings.json — the main configuration file. It’s written in JSON (a simple “key: value” format). It controls permissions (what Claude may do without asking), environment variables, which model to use, hook definitions, and more. There’s often a companion settings.local.json for personal overrides that shouldn’t be shared with the team.

CLAUDE.md — a plain-English memory/briefing file. So important it gets its own module (Module 3).

commands/ — a folder of your custom slash commands. Each file is one reusable command (Module 6).

agents/ — a folder of your custom subagents. Each file defines a specialist helper (Module 8).

skills/ — a folder of skills: bundles of instructions (and sometimes scripts) that teach Claude a procedure (Module 5).

hooks/ (and hook entries inside settings.json) — scripts that run automatically at certain moments (Module 7).

plugins/ — installed plugin bundles, which can contain any of the above (Module 11).

The takeaway

You don’t have to memorize this. The point is: everything you customize about Claude ends up as a plain file in .claude. That’s a feature — you can read it, edit it, copy it, share it, and put it in version control. Nothing is hidden magic.


← Module 1 | Index | Next: Module 3 →