C:\Users\<ユーザー名>\.cursor\hooks.json が存在し、正しく設定されているか確認してください。
正しい設定例:
{
"version": 1,
"hooks": {
"beforeSubmitPrompt": [
{
"command": "node",
"args": ["<プロジェクトルート>\\scripts\\log-prompt.js"]
}
],
"stop": [
{
"command": "node",
"args": ["<プロジェクトルート>\\scripts\\update-rules-from-conversation.js"]
}
]
}
}
version と hooks の構造が必要です。version は数値(通常は 1)、hooks はオブジェクトです。
注意点:
\)は \\ とエスケープする必要があります/)を使用することもできますまず、簡単なテストスクリプトでHooksが動作するか確認します。
hooks.json を一時的に変更:
{
"version": 1,
"hooks": {
"beforeSubmitPrompt": [
{
"command": "node",
"args": ["<プロジェクトルート>\\scripts\\test-hooks.js", "beforeSubmitPrompt"]
}
],
"stop": [
{
"command": "node",
"args": ["<プロジェクトルート>\\scripts\\test-hooks.js", "stop"]
}
]
}
}
確認方法:
C:\Users\<ユーザー名>\.cursor\hooks-debug.log を確認ログファイルに記録が残っていれば、Hooksは動作しています。
絶対パスを使用している場合:
相対パスを使用する場合:
node コマンドが正しく認識されているか確認:
# PowerShell
where.exe node
パスが表示されない場合は、Node.jsが正しくインストールされていないか、PATH環境変数に追加されていません。
解決方法: node の代わりに絶対パスを使用:
{
"beforeSubmitPrompt": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["<プロジェクトルート>\\scripts\\log-prompt.js"]
}
}
スクリプトファイルが読み取り可能か確認:
# PowerShell
Test-Path "<プロジェクトルート>\scripts\log-prompt.js"
Get-Content "<プロジェクトルート>\scripts\log-prompt.js" -Head 5
Ctrl+Shift+I を押して開発者ツールを開く# PowerShell
cd C:\HRE_M3
node scripts\log-prompt.js
標準入力が必要な場合は:
# PowerShell
echo '{"conversation_id":"test","prompt":"test"}' | node scripts\log-prompt.js
エラーが表示される場合は、そのエラーを解決してください。
スクリプト内で環境変数を使用している場合、Cursorから実行される際に環境変数が読み込まれているか確認:
{
"beforeSubmitPrompt": {
"command": "node",
"args": ["<プロジェクトルート>\\scripts\\log-prompt.js"],
"env": {
"NODE_ENV": "production"
}
}
}
会話ログが記録されているか確認:
# PowerShell
Get-ChildItem "$env:USERPROFILE\.cursor\conversations\" | Select-Object -First 5
ログファイルが作成されていない場合、beforeSubmitPrompt フックが実行されていません。
古いバージョンのCursorではHooks機能がサポートされていない可能性があります。
確認方法:
Ctrl+,)でバージョンを確認症状: エラーメッセージに「ファイルが見つかりません」と表示される
解決方法:
\\ または / で統一する症状: エラーメッセージに「'node' は、内部コマンドまたは外部コマンド...」と表示される
解決方法:
症状: ログファイルにエラーが記録されている
解決方法:
npm install)症状: ログファイルが作成されない、何も起こらない
解決方法:
hooks.json の構文が正しいか確認(JSON形式)scripts/test-hooks.js を使用して、Hooksが正しく動作しているか確認できます。
使用方法:
hooks.json を一時的に test-hooks.js を呼び出すように変更C:\Users\<ユーザー名>\.cursor\hooks-debug.log を確認