Cursor Cloud agents do not run 'afterAgentResponse' or 'stop' hooks

Where does the bug appear (feature/product)?

Cloud Agents

Describe the Bug

Project-level defined hooks, afterAgentResponse and stop hooks, which execute locally in Cursor IDE, do not work in a Cloud Agent VM environment.

Steps to Reproduce

  • Define project-level hooks in .cursor/hooks.json i.e.
{
  "version": 1,
  "hooks": {
    "afterAgentResponse": [
      { "command": ".cursor/hooks/test-hook.sh --after-response" }
    ],
    "stop": [
      { "command": ".cursor/hooks/test-hook.sh --stop" }
    ]
  }
}

test-hook.sh

LOG_FILE="/tmp/cursor-test-hook.log"

{
  printf '%s test-hook fired args=%s\n' "$(date -u '+%Y-%m-%dT%H:%M:%SZ')" "$*"
  cat
  printf '\n'
} >> "$LOG_FILE"

printf '{"continue":true}\n'
  • Launch Cursor Cloud agent in the project where the hooks are defined with any prompt to trigger hooks.
  • Check hooks logs /tmp/cursor-hook-payload.jsonl and /tmp/cursor-test-hook.log
  • Run locally and note that the outputs are present in Cursor IDE but not in Cloud Agent VM.

Expected Behavior

/tmp/cursor-hook-payload.jsonl and /tmp/cursor-test-hook.log should be populated from hooks afterAgentResponse and stop .

Reference to docs describing hooks in Cloud Agents

Operating System

MacOS

Version Information

Version: 3.2.21
VSCode Version: 1.105.1
Commit: 806df57ed3b6f1ee0175140d38039a38574ec720
Date: 2026-05-03T01:46:14.413Z
Layout: editor
Build Type: Stable
Release Track: Default
Electron: 39.8.1
Chromium: 142.0.7444.265
Node.js: 22.22.1
V8: 14.2.231.22-electron.0
OS: Darwin arm64 25.3.0

Does this stop you from using Cursor

Yes - This blocks our workflows from executing as intended.

Thanks for the feedback @bot-jamesschulz! I can reproduce this, and it seems to affect a few more hook types as well (sessionStart, beforeSubmitPrompt, afterAgentThought). Lifecycle hooks seem not to work, while tool call hooks do!

Have flagged for the team.