Best practices for Claude Code changedbest-practices
Nearest release: v2.1.291, published under an hour after upstream edited the page. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.
Upstream edited this page at 6 Oct 2026 03:21 UTC, give or take a minute or two: the time comes from Anthropic’s own sitemap rather than from a commit. This site recorded the change at 6 Oct 2026 03:37 UTC.
Upstream edited
Recorded here
Lines+2added
Lines−2removed
From line
135
where the diff opens
First seen
14 Aug 2026
this site's first read of the page
Recorded edits21to this page, all time
The whole hunk
from line 135, old and new numbered
/
from line 135
135135
136136* **Reference files with `@`** instead of describing where code lives. Claude reads the file before responding.
137137* **Paste images directly**. Copy/paste or drag and drop images into the prompt.
138* **Give URLs** for documentation and API references. Use `/permissions` to allowlist frequently-used domains.
138* **Give URLs** for documentation and API references. Use `/permissions` to allowlist frequently used domains.
139139* **Pipe in data** by running `cat error.log | claude -p "explain this error"` to send file contents directly.
140140* **Let Claude fetch what it needs**. Tell Claude to pull context itself using Bash commands, MCP tools, or by reading files.
141141
from line 177
177177| Repository etiquette (branch naming, PR conventions) | Information that changes frequently |
178178| Architectural decisions specific to your project | Long explanations or tutorials |
179179| Developer environment quirks (required env vars) | File-by-file descriptions of the codebase |
180| Common gotchas or non-obvious behaviors | Self-evident practices like "write clean code" |
180| Common gotchas or behaviors that aren't self-evident | Self-evident practices like "write clean code" |
181181
182182If Claude keeps doing something you don't want despite having a rule against it, the file is probably too long and the rule is getting lost. If Claude asks you questions that are answered in CLAUDE.md, the phrasing might be ambiguous. Treat CLAUDE.md like code: review it when things go wrong, prune it regularly, and test changes by observing whether Claude's behavior actually shifts. For a checked-in CLAUDE.md, run [`/doctor`](/docs/en/commands#all-commands) and Claude proposes cuts for content it can derive from the codebase.
183183
No line in this hunk matches that.