快速修复
# 一键:补执行权限(最常见修复)
find ~/.claude/hooks -name '*.sh' -exec chmod +x {} +
你会遇到什么
Agent 会话里 OMC 的 hook 不触发;Windows 上安装后报 UserPromptSubmit/Stop hook error(Issue #30 场景)。配置了却没生效。
本文路径:快速修复(30 秒一段命令)→ 一步步排查(可跳读)→ 原理与变体(症状/原因/证据)。赶时间直接跳到「快速修复」。
为什么会这样
| 原因 | 说明 |
|---|---|
| hook 脚本无执行权限 | ~/.claude/hooks/**/*.sh 缺 +x |
| Windows shell 差异 | 路径/转义差异导致 hook 调用失败 |
| 插件重装残留 | 旧 hook 残留与新安装冲突 |
hook 的触发是一条前置链,三个条件缺一不可:Claude Code 在事件发生时(提交提示词/会话停止)按配置找到 hook 脚本 → 脚本必须有执行权限(+x,否则 exec 直接拒绝)→ 脚本的 shebang 解释器要能跑起来(Windows 上 shebang 通常是 #!/bin/bash,原生 cmd 环境没有 bash,必须 Git Bash/WSL;
CRLF 行尾还会让 shebang 解析失败)。
任何一个前置不满足,表现都是"配置了却没触发"或"hook error"。所以排查顺序固定:先权限、再解释器环境、最后才怀疑残留——多数情况第一步就解决了。
一步步来
1. 补执行权限 — 必做
find ~/.claude/hooks -name '*.sh' -exec chmod +x {} +
2. Windows:兼容环境 + LF 行尾 — 必做
用 Git Bash/WSL 兼容环境跑 hook;确认脚本行尾为 LF(避免 CRLF 执行错误)。
3. 重装插件后还报错:先移除再重装 — 必做
/plugin remove oh-my-claudecode
然后再重装。
怎么确认修好了
hook 正常触发(预期形态):
Agent 会话提交/停止 → hook 日志正常输出,无 UserPromptSubmit/Stop hook error其它环境的表现
| 环境 | 说明 |
|---|---|
| 权限 | chmod +x 后恢复(CSDN 2026-03 案例) |
| Windows | Git Bash/WSL 兼容环境 + LF 行尾(Issue #30) |
| 重装残留 | 先 remove 再装 |
| 未实测项 | Claude Code 插件形态本市场未实测(无登录态) |
症状
Agent 会话里 OMC 的 hook 不触发;Windows 上安装后报 UserPromptSubmit/Stop hook error(Issue #30 场景)。
原因
- hook 脚本无执行权限(
~/.claude/hooks/**/*.sh缺 +x); - Windows 下 shell 路径/转义差异,hook 脚本调用失败;
- 插件重装后旧 hook 残留。
解法
- 补执行权限:
chmod +x ~/.claude/hooks/**/*.sh(find ~/.claude/hooks -name '*.sh' -exec chmod +x {} +)。 - Windows:用 Git Bash/WSL 兼容环境跑 hook;确认脚本行尾为 LF(避免 CRLF 执行错误)。
- 重装插件后如果还报错,先
/plugin remove oh-my-claudecode再重装。
验证证据
- 网页案例:CSDN(钩子未执行 → chmod +x hooks,2026-03);GitHub Issue #30(Windows hook error)。
- 本市场未实测 Claude Code 插件形态(无登录态),如实标注。
适用工具 (1)
本问题方案已挂到下列工具的方案页——从工具页也能回到这里,双向可达。
oh-my-claudecode来源与证据
← 多智能体编排 问题域 | 问题货架 | 遇到其它问题?去 问题空间 提交求助卡