# Claude Codex Config Sync Status - 7 May 2026
Updated: 2026-05-22 12:20 Europe/Rome
Machine audited: iMac.homenet.telecomitalia.it
## Current architecture
Claude live config is the Git repo at ~/.claude, remote https://github.com/nickneek/claude-config.git. The tracked canonical sync script is ~/.claude/bin/claude-config-sync.sh. The launch agent runs ~/.local/bin/claude-config-sync.sh via ~/Library/LaunchAgents/com.claude.config-sync.plist. Logs are under ~/.local/state/claude-config-sync/.
Codex live config is ~/.codex. The sync-safe Git repo is ~/.codex-config, remote https://github.com/nickneek/codex-config.git. The launch agent runs ~/.codex-config/scripts/auto-sync.sh via ~/Library/LaunchAgents/com.nickyoung.codex-config-autosync.plist. Logs are under ~/.codex-config/logs/. Export dereferences symlinks with rsync -aL.
## Desktop audit - 2026-05-22
- Hostname: iMac.homenet.telecomitalia.it.
- Backup created before edits: ~/config-sync-audit-20260522-121430.
- Claude repo remote: https://github.com/nickneek/claude-config.git.
- Claude local and GitHub head before and after audit: 1354f60b1fcbd180c01b80bbe678556ed868d81d.
- Claude launch agent loaded: com.claude.config-sync, last exit code 0, run interval 3600 seconds.
- Claude last successful sync marker: 2026-05-22 11:44:56.
- Claude repo status after audit: dirty only because of untracked skills/acquire-source/. This was not committed.
- Claude issue found: live script ~/.local/bin/claude-config-sync.sh was the older February copy and differed from tracked canonical ~/.claude/bin/claude-config-sync.sh.
- Claude fix made: copied ~/.claude/bin/claude-config-sync.sh to ~/.local/bin/claude-config-sync.sh and chmod +x. cmp now returns 0.
- Codex repo remote: https://github.com/nickneek/codex-config.git.
- Codex head before repair: ef7c366f1353f3fb3cb088203b9b496360447c2f.
- Codex launch agent loaded: com.nickyoung.codex-config-autosync, last exit code 0, run interval 60 seconds.
- Codex issue found: stale lock directory ~/.codex-config/.auto-sync.lock dated 2026-03-22 caused launchd runs to exit before logging. auto-sync.log had not updated since 2026-03-22 14:35.
- Codex fix made: removed stale empty lock directory after confirming no codex-config sync process was running.
- Codex manual sync after fix: succeeded, wrote fresh log at 2026-05-22 12:15:55, committed and pushed exported live config.
- Codex current local and GitHub head after manual sync: 6385cd526c78f972c5d33a6c84d61517dc7c32fb.
- Codex repo status after audit: clean.
- Codex remaining concern: because the stale lock froze sync since March 22, the May 22 export produced a large live-config drift commit. Review commit 6385cd5 before treating it as an intentional cross-machine baseline.
## Differences classified
- Translate/fix: Claude tracked canonical sync script existed but desktop launchd was still running the stale local copy. Fixed by reinstalling the tracked script as the live script.
- Retire/fix: Codex stale lock was legacy runtime state, not config. Removed after checking no sync process was running.
- Sync or keep pending: Claude has untracked skills/acquire-source/. It is a real skill directory, but it exists only on Claude and is absent from Codex live/config. Decide whether to sync it to both runtimes or keep it Claude-only before running Claude sync.
- Verify pending: Codex commit 6385cd5 deleted tasknotes from Codex config export, even though the original task note says TaskNotes was added to both configs. Confirm whether TaskNotes has intentionally moved elsewhere or whether this is unintended drift.
## Still required for definition of done
- Audit the other machine and record its Claude/Codex commits.
- Confirm both machines are on the same Claude GitHub commit.
- Confirm both machines are on the same Codex GitHub commit, likely after reviewing 6385cd5.
- Confirm both Claude sync logs show recent successful runs on both machines.
- Confirm both Codex sync logs show recent successful runs on both machines.
- Perform laptop-to-desktop deliberate test changes for Claude and Codex, then remove the test files and sync removals.
- Perform desktop-to-laptop deliberate test changes for Claude and Codex, then remove the test files and sync removals.
- Confirm scripts stop loudly or integrate cleanly if remote and local changes conflict.
## Recovery commands
Claude live script reinstall on a machine:
```bash
cp ~/.claude/bin/claude-config-sync.sh ~/.local/bin/claude-config-sync.sh
chmod +x ~/.local/bin/claude-config-sync.sh
```
Codex stale lock check:
```bash
ps ax -o pid,command | grep codex-config | grep -v grep
ls -ld ~/.codex-config/.auto-sync.lock
```
Only if no sync process is running and the lock is stale:
```bash
rmdir ~/.codex-config/.auto-sync.lock
~/.codex-config/scripts/auto-sync.sh
```