Claude Mem v12.3.8 delivers a targeted reliability fix for containerized deployments by addressing a subtle PID reuse issue in the worker start-guard. The release prevents workers from mistakenly treating a freshly started process as an older still-running instance, which previously caused containers to exit cleanly without bringing the worker online.
The main change in v12.3.8 is that worker ownership verification now checks process identity, not just whether a PID appears alive.
Previously, the start-guard relied on a kill(pid, 0) liveness check. That worked for many environments, but it could fail in containers where a PID file survived a restart while the original PID namespace did not. After a docker stop and docker start, a new worker could inherit the same low PID as the old one, often PID 11, and the system would incorrectly assume the old worker was still active.
In v12.3.8, Claude Mem now stores an opaque process-start identity token alongside the PID and validates that token during startup. On Linux, it uses /proc/<pid>/stat field 22, which provides the process start time in jiffies. On macOS and other POSIX environments, it uses ps -p <pid> -o lstart= with LC_ALL=C pinned so the timestamp format remains locale-independent. Windows behavior is unchanged and still uses liveness-only checks.
The release also improves observability. When a PID is technically alive but the identity token does not match, verifyPidFileOwnership now emits a DEBUG log that clearly distinguishes PID reuse from an ordinary dead-process case. Older PID files without a token remain supported through fallback to the previous liveness-only behavior, so there is no migration step required.
This is a small but meaningful operational hardening release. The bug created a frustrating failure mode where a container seemed to start successfully, then shut down immediately with no obvious user-facing error because the worker refused to launch against what it thought was its own existing process.
By validating process identity instead of bare PID liveness, v12.3.8 makes Claude Mem more dependable in Docker and other containerized environments that reuse low PIDs and preserve bind-mounted state such as ~/.claude-mem. That reduces false positives in startup protection, lowers debugging time for operators, and improves confidence in restart behavior during routine container lifecycle events.
For teams running persistent state across container restarts, this release is especially valuable because it fixes the exact edge case that can leave a service apparently healthy at the container level while its worker never actually comes up.
Official Source: https://github.com/thedotmack/claude-mem/releases/tag/v12.3.8