The CLAUDE.md Difference Between Two Ways to Grant Cross-Package Access
A task needs to edit both packages/api/ and a shared types package
outside your current scope. You could add additionalDirectories to
settings, or pass --add-dir at launch.
What's the concrete difference between them?
The correct answer is "additionalDirectories skips its
CLAUDE.md; --add-dir doesn't."
additionalDirectories never loads the granted directory's CLAUDE.md
or skills, while --add-dir does — if you also set
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1. They are not
functionally identical, and neither one is defined by read-only vs.
read-write access — both grant the same kind of file access, just
through a committed settings entry versus a one-off launch flag, with
that one CLAUDE.md-loading difference between them. Neither requires
--bare to work.
Share this question