You open Claude Code, and it asks what your email is. Again. You tell it your address. Again. It asks permission to edit a file it has edited a hundred times. The tool is brilliant and you are spending half your time spoon-feeding it the same facts.

That is not a Claude Code problem. That is a setup problem. The fix takes one afternoon, and after it you never hand over the same information twice.

The shift: a system, not a chat

Writing code is no longer the hard part. The hard part is the system around the work: your accounts, your logins, your preferences, your guardrails, the thousand small facts an assistant needs to actually help. If you keep re-explaining those every session, you have built nothing. You are just chatting.

The win comes from writing that context down once, in files the assistant reads automatically, so it shows up already knowing your world. Three rules make the whole thing work:

Stop chatting with a tool. Start running a system.

CLAUDE.md is the brain. Keep it short.

CLAUDE.md is the file Claude reads at the start of every session. There is a global one (rules for everything you do) and a per-project one (rules for one codebase). Type /init and Claude drafts one for you. That is your starting point, not your finish line.

Here is the trap: people dump everything into CLAUDE.md until it is a 600-line wall nobody maintains. Do not. Think of it as a table of contents with a few hard rules, not the whole encyclopedia. What belongs directly in it:

What CLAUDE.md should point to

CLAUDE.md stays short by pointing at a small set of dedicated files. These three are the ones that matter.

USER.md, your profile, given once. A plain file holding the facts you keep retyping: your name, address, time zone, every email and what each is for, your phone, your team or family contacts, your businesses, payment links, booking links. The rule you put in CLAUDE.md: "When I give you a new personal fact, write it into USER.md right away. Read USER.md before asking me for any of this." The second time you would have given your address, the assistant already has it. Keep passwords out of this file. Those live in a password manager.

ACCESS.md, a living map of your tools and logins. This is the one that feels like magic. Most of us have credentials scattered across a password manager, a dozen config files, and a handful of command-line tools that may or may not be logged in. Nobody remembers what is connected. The fix is a single file that lists every tool, every connected service, every credential name (the name and where it lives, never the secret), and every project config. CLAUDE.md tells the assistant: "Before asking me about access to any tool, read ACCESS.md first."

The key move: do not write ACCESS.md by hand. A hand-written inventory is out of date the day after you write it. Instead, a small script inspects your actual machine (which tools are installed, which accounts they are logged into, what is in your password manager, where your config files are) and regenerates the file. Run it at the start of every session. Now the map cannot lie, because it is built from reality each time.

A reference folder for the deep stuff. Anything long and procedural (how you deploy, your git workflow, how your secrets are organized) goes in its own file that CLAUDE.md links by name. The assistant pulls it up when it is relevant instead of carrying it around all session.

In practice the pointer block in CLAUDE.md is this small:

CLAUDE.md · the pointer block
## Check before asking
- ~/.claude/USER.md   : who I am, contacts, businesses, links
- ~/.claude/ACCESS.md : every tool, login, credential (auto-generated)
- ~/.claude/agent_docs/ : deploy, git, secrets, other procedures
Read these before asking me anything they already answer.

Permissions: full speed, hard brakes

By default Claude Code asks permission before a lot of actions. That is right when you are new. Once you trust your setup, the constant prompts become the friction. Set it so the assistant runs freely on normal work and only stops you for genuinely dangerous commands: wiping a drive, deleting your home folder, anything with elevated sudo rm.

One gotcha causes most mystery prompts: the assistant asks before touching files outside the folders it has been told it can work in. List your real working directories and that noise disappears. A lot of "why is it asking me again" is this single misconfiguration.

Hooks: the system maintains itself

Hooks are scripts that run automatically at certain moments (when a session starts, before a file is saved, when work stops). This is what makes the setup self-maintaining instead of something you babysit. Start with one: regenerate your ACCESS.md map at session start, so it is always current. Add more when you notice yourself fixing the same thing twice.

You will know it is working when

When all four are true, you have stopped chatting with a tool and started running a system. The kit below gives you every file ready to drop in: a starter CLAUDE.md, a USER.md template, the ACCESS.md generator script, and a permissions config. One command to install.

Want this built for your business?

I set this up for teams so the whole company gets an assistant that already knows the business. 90-minute strategy session: we look at your stack, find the highest-ROI automations, and you leave with a written plan.

Book a Strategy Session →