Windows 上没扩展名的 hook 曾空跑
Cursor 3.23 在 Windows 上修复:hook 命令指向没有扩展名的脚本(例如插件的 scripts/run)时,会改跑旁边的 .ps1、.exe、.bat 或 .cmd。修复前会新开一个控制台,收不到输入,却报告成功。说明没有写旁边有多个候选时选哪一个。

Windows 上有些 Cursor hook 看起来成功了,脚本却没跑。cursor windows hook 没扩展名 指的是命令写成不带后缀的路径,例如插件里的 scripts/run。Cursor 3.23 改为去跑旁边匹配的 .ps1、.exe、.bat 或 .cmd。修复前,这些 hook 会新开一个控制台窗口,收不到输入,并报告成功,实际什么都没做。
报告成功,只说明旧版本没有把失败交出来
发布说明有两处几乎相同的句子。一处写新开控制台、从未收到输入、报告成功却什么都没做。另一处写弹出多余的终端窗口、报告成功却没有运行。可以当成同一修复的两种说法。它没有写 Cursor 的日志里会留下哪一句错误。你若仍停在修复前的版本,hook 历史里的成功不能当作脚本执行过。
旁边若同时有 run.ps1 和 run.cmd,说明只写「匹配的」文件,没有写优先级。这种目录上升级后仍可能跑到非你预期的那一个。只留一个候选,再看 hook 是否收到原来的输入。输入在修复前从未送到脚本,所以旧日志里的空输出不能用来证明脚本逻辑是对的。
macOS 和 Linux 不在这句里。那边本来就按无扩展名的可执行文件运行。把 Windows 上的 scripts/run 拷到别的系统,行为不要用 3.23 这句类推。
和云端 hook 事件表不是一件事
云端 Agent 上 beforeSubmitPrompt 一类事件怎么配,见 云端 agent hooks 怎么配。那篇列的是事件和字段。3.23 这句只处理 Windows 上「命令路径没有扩展名」时进程有没有真的启动。事件名写错、超时、工作目录不对,升级也不会自动改对。
插件作者若把 hook 命令写成 scripts/run,用户机器上必须有对应后缀的文件。只有无后缀的 run、没有 .ps1 等邻居时,说明没有承诺会改去运行那个无后缀文件。先补上后缀,再看 3.23 是否还报成功却无效果。