Bug Description
The worker-service.cjs bundle in v9.0.3 contains a hardcoded version string "9.0.2" instead of "9.0.3", causing an infinite restart loop.
Root Cause
// In worker-service.cjs (line ~974)
var zne="9.0.2" // Should be "9.0.3"
// Used in /api/version endpoint:
this.app.get("/api/version",(r,n)=>{
n.status(200).json({version:zne}) // Returns "9.0.2"
})
The version check logic (cC function) compares:
pluginVersion from package.json → 9.0.3
workerVersion from /api/version endpoint → 9.0.2
Since they don't match, the worker triggers an auto-restart after every request.
Symptoms
- Worker restarts after every hook execution (~100ms lifetime)
- Log shows repeated pattern:
[INFO] Worker version mismatch detected - auto-restarting {pluginVersion=9.0.3, workerVersion=9.0.2}
[INFO] Shutdown initiated
[INFO] Starting worker daemon
- Observations may fail to be created due to worker instability
- High CPU usage from constant restarts
Reproduction Steps
- Install claude-mem v9.0.3
- Start Claude Code
- Execute any tool (Read, Bash, etc.)
- Observe worker restart loop in logs:
~/.claude-mem/logs/claude-mem-*.log
Verification
# Check package.json version
jq -r '.version' ~/.claude/plugins/cache/thedotmack/claude-mem/9.0.3/package.json
# Output: 9.0.3
# Check hardcoded version in bundle
grep -o 'var zne="[0-9.]*"' ~/.claude/plugins/cache/thedotmack/claude-mem/9.0.3/scripts/worker-service.cjs
# Output: var zne="9.0.2" <- MISMATCH!
Temporary Workaround
sed -i.backup 's/var zne="9.0.2"/var zne="9.0.3"/' \
~/.claude/plugins/cache/thedotmack/claude-mem/9.0.3/scripts/worker-service.cjs
Note: This fix is lost on plugin reinstall.
Suggested Fix
Update the build process to inject the correct version from package.json into the bundle, or ensure the version constant is updated before bundling.
Environment
- claude-mem: 9.0.3
- Claude Code: 2.1.3
- OS: macOS Darwin 25.2.0
- Date discovered: 2026-01-10
Related
This bug may also explain why observations stopped being created for some users after upgrading to 9.0.3, as the worker instability prevents proper message queue processing.
Bug Description
The
worker-service.cjsbundle in v9.0.3 contains a hardcoded version string"9.0.2"instead of"9.0.3", causing an infinite restart loop.Root Cause
The version check logic (
cCfunction) compares:pluginVersionfrompackage.json→ 9.0.3workerVersionfrom/api/versionendpoint → 9.0.2Since they don't match, the worker triggers an auto-restart after every request.
Symptoms
Reproduction Steps
~/.claude-mem/logs/claude-mem-*.logVerification
Temporary Workaround
Note: This fix is lost on plugin reinstall.
Suggested Fix
Update the build process to inject the correct version from
package.jsoninto the bundle, or ensure the version constant is updated before bundling.Environment
Related
This bug may also explain why observations stopped being created for some users after upgrading to 9.0.3, as the worker instability prevents proper message queue processing.