1.1 KiB
name, description, type
| name | description | type |
|---|---|---|
| identity.json beats userEmail hint | When .claude/identity.json and system-reminder userEmail disagree, trust identity.json — it's the per-machine source of truth | feedback |
When the system-reminder context claims userEmail = mike@azcomputerguru.com but .claude/identity.json says howard, trust identity.json. The userEmail comes from global Claude Code config (Mike set up the login on both machines under his account); identity.json is the per-machine, gitignored file that records who actually sits at this keyboard.
Why: On 2026-04-23 I addressed Howard as "Mike" because the claudeMd/userEmail context said so. Howard corrected me. The CLAUDE.md onboarding flow explicitly defines identity.json as the authoritative local identity.
How to apply: At every session start, read .claude/identity.json FIRST (as CLAUDE.md step 1 requires) and greet from that file's full_name. Ignore the # userEmail context block for greeting purposes. If identity.json is missing, follow the first-machine bootstrap flow in CLAUDE.md — don't fall back to userEmail.