PaPoo
cover

Cannot find module '/Users/uditgoenka/Desktop/workspace/social/.claude/hooks/session-state.cjs' が出るときに見るところ

この症状は、Claude Code のフック実行時に MODULE_NOT_FOUND が出て、session-state.cjs を探しに行って失敗しているケースです。少なくとも issue #54743 では、PreToolUse:BashPreToolUse:ReadPostToolUse:Bash、stop hook など複数の hook event で同じエラーが連発し、出力を埋め尽くすが、処理自体はブロックされないと報告されています。

手元で確認できた範囲では、settings.json のキー構造は次の状態でした。値は取れていませんが、少なくとも今回の検証環境では該当ファイルが見つかっていません。

[settings_structure]
~/.claude/settings.json: (存在しない)
/mnt/vda5/git/papoo/newsbot_openai/.claude/settings.json: (存在しない)
/mnt/vda5/git/papoo/newsbot_openai/.claude/settings.local.json: (存在しない)

なので、少なくともこの出力だけから言えるのは、「設定ファイルが置かれていない環境では、その session-state.cjs を参照するフック設定も確認できない」ということまでです。session-state.cjs 自体がどこで設定されているか、あるいはどの条件で参照されるかは、この材料だけでは分かりません。

別件ですが、似た系統の issue として #81320 では、プラグインの settings.json に書かれたコマンドが ${CLAUDE_PLUGIN_ROOT} の展開なしで扱われ、プラグイン内スクリプトを参照できない、という報告があります。こちらは「プラグインが自分の同梱ファイルを指せない」という話で、今回の session-state.cjs の行方不明とは完全には同じではありません。ただ、設定の解決やパス展開まわりで壊れると似た見え方になる可能性はあります。

現時点で、この症状に対する確実な回避策は issue 文面からは読み取れません。PreToolUse / PostToolUse / stop hook のたびに同じ MODULE_NOT_FOUND が出ているなら、まずは「どの hook がそのパスを指しているのか」を設定側で探す必要があります。設定ファイルが実在する環境では、.claude/hooks/ 配下や hook 定義を確認するのが筋ですが、今回の実測ではその設定実体を確認できていません。


検証環境

OS          : Linux 3.10.0-1160.76.1.el7.x86_64 (x86_64)
Python      : 3.8.13
検証日時    : 2026-08-24T08:50:14+09:00

参照した Issue(anthropics/claude-code): #54743, #81320

同じ著者の記事