Use .claudeignore to Control What Claude Can See
Large repos are full of things Claude doesn't need to see — build artefacts, vendor directories, binary assets. A .claudeignore file at your project root tells Claude Code to skip them entirely, just like .gitignore works for Git.
node_modules/
vendor/
storage/
.git/
public/build/
*.lock
*.min.js
Drop this in your project root and Claude will stop reading (and suggesting changes to) those paths. The syntax is identical to .gitignore — glob patterns, negation with !, and directory markers with trailing /.
This matters for two reasons:
- Faster exploration — Claude won't waste time reading thousands of vendor files when searching your codebase
- Better suggestions — less noise means Claude focuses on your code, not third-party libraries
You can get more specific when needed:
# Ignore all logs except the current one
storage/logs/*
!storage/logs/laravel.log
# Ignore test fixtures but not the tests themselves
tests/fixtures/
tests/snapshots/
# Ignore large binary assets
*.woff2
*.png
*.sqlite
If you're ever unsure whether a file is being ignored, ask Claude to read it — you'll see immediately if it's blocked.
Think of .claudeignore as a focus filter — the less noise Claude has to wade through, the better its answers get.
Log in to leave a comment.
The autoUpdatesChannel setting pins Claude Code to a stable release track that skips versions with major regressions.
The language setting makes Claude respond in your preferred language by default, across every session and project.
The attribution setting lets you customize or completely remove Claude's Co-Authored-By trailer from git commits and pull requests.