fix: 修复 UserPromptSubmit 事件 prompt 为空的问题

UserPromptSubmit 不是工具事件,prompt 文本作为顶层 JSON 字段传递,
而非 tool_input.prompt。新增 Prompt 字段到结构体并从 event.Prompt 读取。
This commit is contained in:
2026-06-26 00:15:04 +08:00
parent 632069216d
commit 12713257d0
+2 -1
View File
@@ -17,6 +17,7 @@ type ClaudeCodeHookEvent struct {
ToolInput map[string]interface{} `json:"tool_input,omitempty"`
Matcher string `json:"matcher,omitempty"`
StopHookActive bool `json:"stop_hook_active,omitempty"`
Prompt string `json:"prompt,omitempty"` // UserPromptSubmit 事件的 prompt 文本
}
type HookHandler struct {
@@ -139,7 +140,7 @@ func (h *HookHandler) handleUserPromptSubmit(event ClaudeCodeHookEvent) {
return
}
prompt, _ := event.ToolInput["prompt"].(string)
prompt := event.Prompt
if prompt == "" {
log.Printf("empty prompt in UserPromptSubmit, session=%s", event.SessionID)
return