以下の内容はhttps://rriifftt.hatenablog.com/entry/2026/02/02/104221より取得しました。


Claude Code 起動時の SessionStart:startup hook error の解決事例

概要

Claude Codeの起動時に発生していた SessionStart:startup hook error について、原因の深掘りと、プラグインの手動アップデートによる根本解決の記録です。


発生していた問題

Claude Codeセッション開始時に、以下のエラーが解消されない状態でした。

SessionStart:startup hook error

調査プロセス

1. 現状確認

ワーカープロセス自体は動作していましたが、フックスクリプトの手動実行により異常を検知しました。

claude-mem status
# Worker is running, PID: 63381, Port: 37777

2. 根本原因の特定

user-message-hook.js を直接実行したところ、Exit code 3 が返されることを発見。これはプラグイン内部で何らかの論理エラーが発生していることを示唆しています。

3. バージョンの不整合を確認

GitHubリポジトリ(marketplaces)を確認したところ、インストールされているバージョンが大幅に古いことが判明しました。

状態 バージョン 備考
インストール済み 8.0.4 20以上のコミット遅れ
最新版 (origin/main) 9.0.12 多数のバグ修正を内包

解決手順(手動アップデート)

最新版へ追従するため、以下の手順で手動更新を実施しました。

Step 1: ソースコードの更新

cd ~/.claude/plugins/marketplaces/thedotmack
git pull origin main
# 859行の変更を反映

Step 2: キャッシュディレクトリ(実行環境)の差し替え

# 古いキャッシュの削除
rm -rf ~/.claude/plugins/cache/thedotmack/claude-mem/8.0.4

# 新バージョン用ディレクトリの作成とコピー
mkdir -p ~/.claude/plugins/cache/thedotmack/claude-mem/9.0.12
cp -r ~/.claude/plugins/marketplaces/thedotmack/plugin/* \
      ~/.claude/plugins/cache/thedotmack/claude-mem/9.0.12/

Step 3: 設定ファイルの書き換え

~/.claude/installed_plugins.json 内のパスとバージョン情報を更新しました。

- "installPath": "~/.claude/plugins/cache/thedotmack/claude-mem/8.0.4",
- "version": "8.0.4",
+ "installPath": "~/.claude/plugins/cache/thedotmack/claude-mem/9.0.12",
+ "version": "9.0.12",

Step 4: 依存関係の再構築とワーカー起動

# 依存関係のインストール(Bunを使用)
node scripts/smart-install.js

# ワーカーの再起動
claude-mem restart

終結

アップデート後、すべてのステータスが正常化しました。

項目 更新前 (8.0.4) 更新後 (9.0.12)
Worker ステータス エラー Ready
MCP Ready - True
SessionStart hook Error Success

API確認:

curl -s http://127.0.0.1:37777/api/version   # {"version": "9.0.12"}
curl -s http://127.0.0.1:37777/api/readiness # {"status": "ready", "mcpReady": true}

学んだこと・まとめ

  1. バージョン不整合の罠: marketplaces(ソース)と cache(ランタイム)のバージョンが乖離すると、予期せぬ挙動を招く。
  2. Exit Code 3 の意味: フックスクリプト3 を返す場合は、内部ロジックの不備やバージョン依存のバグを疑う。
  3. 手動更新フロー: 自動更新がうまくいかない場合は「ソース取得 → キャッシュ配置 → json更新 → 依存関係解決」の順でリカバリ可能。

トラブルシューティング用コマンド

今後同様の問題が発生した際の確認用コマンドです。

# 1. プラグインの最新版(GitHub)との差分確認
cd ~/.claude/plugins/marketplaces/thedotmack
git fetch origin && git log HEAD..origin/main --oneline

# 2. ワーカーの詳細ステータス確認
claude-mem status
curl -s http://127.0.0.1:37777/api/version
curl -s http://127.0.0.1:37777/api/readiness



以上の内容はhttps://rriifftt.hatenablog.com/entry/2026/02/02/104221より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14