Imagine training a new assistant on your first day together. You'd tell them your preferences, your pet peeves, and how you like things done. That's exactly what configuration is — telling Claude Code how to work your way.
Your Project Instructions File (CLAUDE.md)
The most important thing you can do is create a project instructions file. It's a simple text file called CLAUDE.mdthat Claude Code reads every time it starts working on your project. Think of it as a "welcome packet" you'd give a new employee.
What to put in it
Write anything you'd tell a smart assistant on their first day:
# My Project Preferences
## About This Project
- This is a website for my bakery called "Sweet Dreams"
- The brand colors are pink (#FF69B4) and white
- Keep the tone friendly and warm
## How I Like Things Done
- Always use simple, casual language (not corporate)
- When creating new pages, match the style of the existing ones
- Don't delete anything without asking me first
## Important Commands
- To preview the website: npm run dev
- To publish changes: npm run build
What this means for you
Instead of repeating yourself every session ("remember, my brand color is pink..."), you write it once and Claude Code remembers it forever. It's the single biggest time-saver for regular Claude Code users.
Getting started quickly
Don't want to write one from scratch? Just type /init in a Claude Code session. Claude Code will scan your project and draft instructions for you — then you can edit them to add your personal preferences.
Where to put instructions files
You can have instructions at different levels, and they all work together:
| Location | When Claude Code reads it | Example use |
|---|---|---|
| Your home folder | Every project, every time | "I prefer concise writing" or "Always use dark mode examples" |
| Your project folder | Only when working on this project | "This is a bakery website, brand color is pink" |
| A subfolder | Only when working inside that folder | "Files in this folder follow a specific template" |
They layer on top of each other — your general preferences apply everywhere, and project-specific rules add on top. Like how a company has general policies, but each department might have its own rules too.
Pointing to other files
If you already have useful information in other files (like a README or a style guide), you can tell Claude Code to read those too:
See @README.md for how this project is set up
See @docs/style-guide.md for our writing standards
Tips for great instructions
- Keep it under 200 lines — shorter instructions work better than long ones
- Be specific — "use casual language" is better than "write well"
- Focus on preferences — tell it how you want things done, not how the code works (it can figure that out)
- Update as you go — add new rules whenever you find yourself repeating instructions
Your Settings
Beyond the instructions file, Claude Code has settings that control its behavior — things like which AI model to use by default, what it's allowed to do without asking, and how it looks.
You can view and change settings with the /config command, or by editing the settings file directly.
The most useful settings
| Setting | What it controls | Example |
|---|---|---|
| Default model | Which AI brain Claude Code uses | Sonnet (balanced) or Opus (most powerful) |
| Permission mode | How much freedom Claude Code has | Ask before everything vs. auto-approve safe actions |
| Theme | Light or dark appearance | Match your preference |
| Auto-memory | Whether Claude Code saves what it learns | Turn on so it remembers your preferences |
Controlling What Claude Code Can Do
You can be very specific about what Claude Code is and isn't allowed to do. Think of it like setting parental controls — except you're the parent and Claude Code is the teenager.
Permission levels
| Level | File changes | Running commands | When to use |
|---|---|---|---|
| Cautious | Asks first | Asks first | Important work, learning phase |
| Trust file edits | Automatic | Asks first | Regular day-to-day work |
| Planning only | Not allowed | Not allowed | Just brainstorming or exploring |
| Fully automatic | AI decides | AI decides | Long tasks where you walk away |
Switch between levels anytime by pressing Shift+Tab.
Fine-grained rules (for when you want specific control)
You can create specific rules like "always allow reading files" or "never delete anything." Here's what that looks like in plain English:
| Rule | What it means |
|---|---|
| Always allow | Claude Code does this without asking (e.g., reading files, searching) |
| Ask first | Claude Code shows you what it wants to do and waits for approval |
| Never allow | Claude Code cannot do this even if it tries (e.g., deleting important files) |
What this means for you
Start with the default ("Cautious") setting. As you get comfortable and see that Claude Code makes good decisions, gradually give it more freedom. It's like giving a new employee more autonomy as they prove themselves.
Built-in safety
Even in the most autonomous mode, Claude Code has built-in guardrails. It will never:
- Send your passwords or secret keys to the internet
- Download and run unknown programs
- Deploy to production without checking first
- Force-push over your team's work
And it will always allow:
- Reading files on your computer
- Searching through your project
- Installing declared project dependencies
Rules for Specific Parts of Your Project
If different parts of your project need different instructions, you can create rule files that only apply to certain areas. For example:
- Rules that only apply when working on the website's design files
- Rules that only apply when editing the database
- Rules that only apply to test files
You create these by putting instruction files in a special folder called .claude/rules/. Claude Code automatically loads the right rules based on what files you're working with.
What this means for you
You don't need scoped rules when getting started. They're a power feature for when your project grows and you want different behavior in different areas. Start with one project-level instructions file and add scoped rules later if needed.
Source: ClaudeCodeMastery beginner docs (localhost:3055/docs/configuration), fetched 2026-09-04