You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
CLAUDE.template.md recommends per-project CLAUDE.md files that the lifeos launcher prevents from loading (chdir to install root unless --local) #2176
CLAUDE.template.md § Project-Specific Rules tells the user to put project-scoped rules in a CLAUDE.md beside each project. The lifeos launcher changes directory to the install root before starting the session, and Claude Code reads CLAUDE.md from the working directory and its ancestors. A project directory outside the install root is neither, so those files do not load in a normally-launched session.
Checked against main at 5e2f2e8c, LIFEOS/VERSION 7.40.4.
Detail
The template says:
Drop project-scoped CLAUDE.md files alongside each project (e.g. ~/code/your-project/CLAUDE.md) for rules that only apply inside that codebase. Claude Code merges them with this global file when sessions start in that directory.
The last clause is the caveat, and it is doing a lot of quiet work.
LIFEOS/TOOLS/lifeos.ts calls process.chdir(CLAUDE_DIR) at line 541 in the launch path, and again at line 709. So sessions start in the install root unless --local is passed, which is documented at line 14 as "Stay in current directory (don't cd to ~/.claude)".
The advice is correct and --local is the supported way to get it. But someone who reads the template and writes the files sees no error and no effect, and has no obvious way to discover why.
Suggested fix
One sentence appended to that section, for example:
These load only when the session starts inside that directory. lifeos changes to the install root by default, so use lifeos --local from the project directory when you want them.
lifeos --help mentioning the same thing beside the --local line would help too, since that is where someone looking for the answer would land second.
Why it seems worth saying
This compounds with the listProjects() parsing bug in #2175. Project rules have no working home by default, and the router that would otherwise route them to one returns an empty list, so both paths point project-scoped rules at the one file every session loads.
On the install where this surfaced, that file had reached 65 KB and the project registry 72 KB. Fixing either issue alone still leaves the other funnel open.
Thanks @selinium. The template's Project-Specific Rules section now says those files only load when the session starts in that directory, and that lifeos --local from the project directory is how to get them. The --local line in the lifeos.ts header says the same. Next release carries it.
Activity
danielmiessler commentedon Oct 3, 2026
Thanks @selinium. The template's Project-Specific Rules section now says those files only load when the session starts in that directory, and that
lifeos --localfrom the project directory is how to get them. The--localline in thelifeos.tsheader says the same. Next release carries it.