Claude-Mem 启动异常问题解析及解决方案

一、异常描述

SessionStart:startup says: Plugin hook error: 📝 Claude-Mem Context Loaded
ℹ️ Note: This appears as stderr but is informational only

背景

我重新安装了claude code,Claude-Mem也一并进行了重装
重装之前在claude code中删除了此插件,清空了所有相关的文件夹。
在执行claude启动时报错: Plugin hook error。
保存记忆报错:

 Error: Session initialization failed: 500
        at Mt (file:///Users/zhych/.claude/plugins/cache/thedotmack/claude-mem/8.0.6/scripts
    /new-hook.js:28:2819)
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Socket.<anonymous> (file:///Users/zhych/.claude/plugins/cache/thedotmack/cl
    aude-mem/8.0.6/scripts/new-hook.js:28:3628)

    Node.js v20.19.5

下面白有一些js报错

处理过程

  1. 首先我怀疑是安装的过程出现了问题,执行了多次的重装。
  2. 我也怀疑过版本兼容问题,claude code版本是2.0.76,Claude-Mem版本是8.0.6
    我把同事的7.4版本拷贝到/Users/zhych/.claude/plugins/cache/thedotmack/claude-mem
    目录下依然报错。

二、解决方案

一直找不到问题的原因,因为之前我有直接使用claude code解决它自身问题的先例。
这次我想再试一下。

 > 插件 Claude-Mem 为什么会启动异常
 >  我来帮你分析 Claude-Mem 启动异常的问题。首先让我查看一下系统中与 Claude-Mem 相关的进程和状态。

⏺ Bash(ps aux | grep claude-mem)
  ⎿ zhych            63938   0.3  0.0 34188328   2272   ??  Ss    1:49PM   0:00.02 /bin
    /zsh -c -l source /Users/zhych/.claude/shell-snapshots/snapshot-zsh-1766641681430-5
    r0e3s.sh && { shopt -u extglob || setopt NO_EXTENDED_GLOB; } 2>/dev/null || true &&
    … +12 lines (ctrl+o to expand)

⏺ 让我进一步检查 Claude-Mem 的配置和日志信息:

⏺ Bash(ls -la ~/.claude/)
  ⎿  total 24                                                   
     drwxr-xr-x  14 zhych  _analyticsusers   448 Dec 25 13:49 .
     drwxrwx---+ 94 zhych  _analyticsusers  3008 Dec 25 13:49 ..
     … +12 lines (ctrl+o to expand)
#  中间有一些插件文件读取的、、、、、、
Claude-Mem 启动异常的根本原因可能是以下几点:

  1. 进程冲突:之前有一个由 bun 运行的进程(PID 4573)占用了端口 37777,这导致了进程管理的混乱
  2. 僵尸进程:可能存在之前异常终止的进程没有完全清理

  解决方案

  1. 清理冲突进程:终止了错误的进程(PID 4573),该进程由 bun 启动但实际上是应该由 node 启动的 Claude-Mem 服务
  2. 重启服务:在清理冲突进程后,成功重启了 Claude-Mem 服务
  3. 验证功能:确认了服务现在可以正常启动、停止和重启

  当前状态

  - Claude-Mem 服务现在正常运行(PID: 65678,端口 37777)
  - 数据库连接正常(~/.claude-mem/claude-mem.db 存在且可访问)
  - 服务可以正常启动和停止
  - MCP 接口已准备就绪,可以接受搜索请求

  所有待办任务都已完成,Claude-Mem 现在可以正常工作。如果需要,现在可以启用语义搜索功能(通 过安装 uv 并重启 worker)。

果然没有让我失望,问题解决了http://localhost:37777/开始正常记录了。
在这里插入图片描述

总结

老的插件卸载后进程没有停止,导致了冲突影响到了后续。将进程终止,重启服务即可。

lsof -i :37777
COMMAND     PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Google     1152 zhych   46u  IPv4 0x92dd91ea1f43d6b9      0t0  TCP localhost:62087->localhost:37777 (ESTABLISHED)
bun       68603 zhych    6u  IPv4 0x92dd91ea20ae96b9      0t0  TCP localhost:37777 (LISTEN)
bun       68603 zhych   20u  IPv4 0x92dd91ea1f72cc11      0t0  TCP localhost:37777->localhost:62087 (ESTABLISHED)

# 终止进程
kill -9 68603

# 服务重启
claude-mem restart

正确的重装过程应该是:

  1. 插件卸载
  2. 终止进程
  3. 重装

如果你也在claude code可以一起学习➕zhych0828

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐