Claude Code keeps per-project memory at <home>/.claude/projects/<key>/,
where <key> is the project's absolute path with every separator and the
drive colon turned into a dash. That makes it both rename-fragile and
machine-specific, and this project has hit each of those once:
- D:\DEV\Schunix -> D:\DEV\SchOS changed the key, and 43 memories were
invisible until moved across by hand.
- Development happens from Windows and from Linux, and each looks in a
different place for the same checkout.
Committing .claude/memory/ fixes both -- git carries it across renames
and between hosts -- and `import` puts it wherever the local machine
expects. .claude/settings.local.json stays ignored: those are per-machine
permissions.
The colon maps to a dash rather than being dropped. Deleting it gives
D-DEV-SchOS, which matches nothing and silently finds zero memories; that
was the first attempt. On Git Bash the key comes from `cygpath -w`,
because Claude Code is a Windows program and sees D:\DEV\SchOS, not
/d/DEV/SchOS.
901 B
901 B
| name | description | metadata | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| nexoniarz-sharing-preference | Does not want unfinished work shared or published anywhere |
|
Strongly does not want to share work that isn't finished. Stated while explaining an aversion to git ("you need to login to github or gitlab to use it and this is stupid... I don't like to share stuff that aren't done").
Why: it's about publishing, not about version control — the objection was based on believing git requires a hosted account.
How to apply: never push, publish, or otherwise send this work anywhere
without being asked. Local-only git is fine and was accepted once clarified
that git init needs no account and uploads nothing — but do not assume that
extends to any remote. Ask before anything leaves the machine.