Adds a launchd agent that runs the existing claude-save make target
every 30 minutes and at login, so macOS machines commit and push
session state the way the systemd timer does on Linux.
The agent runs through /bin/sh because launchd expands neither ~ nor
$HOME in ProgramArguments, and sets PATH explicitly because agents
inherit no shell environment. The claude target loads it via launchctl
bootstrap on darwin.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The claude and claude-save Makefile targets and both unit files were
dropped when master was rewound upstream, leaving only the enable
symlink in timers.target.wants pointing at a missing unit. The timer
kept firing every 30 minutes and failing with "No rule to make target
'claude-save'", so session state stopped syncing.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>