会话与记忆 · 收录于 2026-08-29 · 适用 1 工具 ✓ 实测验证

首会话重复 SessionStart hook 错误(worker 竞态)

已验证 2026-08-29首会话重复报 SessionStart hook 错误是 worker 未预热竞态,开会话前先 `claude-mem start && claude-mem status`。

快速修复

# 一键:开会话前预热 worker
claude-mem start && claude-mem status

你会遇到什么

刚装好 claude-mem,每次开新会话都看到 2 个 SessionStart hook 错误,记忆有时不注入。你以为是装坏了,重装一遍还是这样——其实是 worker 启动竞态:多个 hook 同时触发时 worker 还没就绪(上游 Issue #1447),属安装后的正常现象,不是故障。

本文路径:快速修复(30 秒一段命令)→ 一步步排查(可跳读)→ 原理与变体(症状/原因/证据)。赶时间直接跳到「快速修复」。

为什么会这样

claude-mem 的 worker 是常驻进程,SessionStart hook 会找它要记忆。刚装完或刚开机时 worker 还在启动中,hook 触发得太快就报错。安装完成时的提示 worker not yet ready -- still starting up 就是这种情况(实测见过)——看 claude-mem status 确认,而不是重装。

claude-mem 是“主进程 + 常驻 worker”架构:主进程(Claude Code 插件)通过 hook 向 worker 要记忆,worker 是独立进程、启动需要时间。会话开始的 SessionStart hook 触发时机在“客户端事件发生”时,不等待 worker 就绪——刚装完/刚开机时 worker 还在启动中,hook 先到、worker 未就绪,于是报错。

这是典型的竞态(上游 Issue #1447):两个动作(hook 触发、worker 就绪)之间没有同步,谁先到取决于时序而不是谁对谁错。

修复思路因此不是修配置,而是消除竞态窗口:开会话前先 claude-mem start 预热 + claude-mem status 确认就绪,把“hook 触发”挪到“worker 就绪”之后。这也解释了为什么“重装没用”——重装重置的是安装状态,竞态窗口照样存在。

实测环境:claude-mem 插件本体 13.16.1,2026-08-28 本市场实测。

一步步来

1. 预热 worker — 必做

claude-mem start

(npm 全局装的老版本用 npx claude-mem start。)

2. 确认就绪 — 必做

claude-mem status

显示 worker 就绪再开会话,SessionStart hook 就不会抢跑。

3. 启动失败时清理残留进程 — 必做

lsof -ti :37700 | xargs -r kill -9; pkill -f claude-mem; claude-mem start

按实际端口替换(见端口占用条目:本版 37700,旧资料 37777)。

怎么确认修好了

claude-mem status

worker 显示就绪、新会话不再报 SessionStart hook 错误即成功。实测:安装完成提示 worker not yet ready -- still starting up 属正常,status 确认即可。

其它环境的表现

环境说明
刚装完首次使用预热 worker 再开会话
重启后同样先 claude-mem start + status
多个 hook 同时触发上游 #1447 竞态,预热可避免
老版本(npm/pm2)npx claude-mem start;旧版用 pm2 管理

症状

每次新会话开始出现 2 个 SessionStart hook 错误;记忆有时不注入。

原因

worker 启动竞态(上游 Issue #1447):多个 hook 同时触发时 worker 尚未就绪。

解法

  1. 预预热:开会话前 claude-mem start(或 npx claude-mem start),确认 claude-mem status 显示 worker 就绪。
  2. 启动失败时先清理残留 worker 进程再 start(见症状 2 的 lsof/kill 方法)。
验证证据
  • 上游 Issue #1447;上游项目方文档 Troubleshooting(lsof/kill 清理残留进程)。
  • 本市场实测:安装完成提示 worker not yet ready -- still starting up; check claude-mem status later——属正常提示,按 status 确认即可。

适用工具 (1)

本问题方案已挂到下列工具的方案页——从工具页也能回到这里,双向可达。

claude-mem

成套方案 (组合包)

这个问题包含在下列成套安装方案中。

来源与证据

收录 验证 ✓ 实测验证适用 1 工具
方案含本地实测或来源可复核的解法;未实测项已在文中如实标注。

← 会话与记忆 问题域 | 问题货架 | 遇到其它问题?去 问题空间 提交求助卡