PostToolUseFailure
PostToolUseFailure 在工具执行失败时触发。当工具调用抛出错误或返回失败结果时,此事件会被触发。可用于记录失败日志、发送警报或向 Hawa Code 提供纠正性反馈。
匹配方式:按工具名称匹配,支持使用与 PreToolUse 相同的匹配器值。
输入参数
PostToolUseFailure hooks 接收与 PostToolUse 相同的 tool_name 和 tool_input 字段,以及作为顶层字段的错误信息:
| 字段 |
说明 |
tool_name |
工具名称 |
tool_input |
发送给工具的参数 |
tool_use_id |
工具使用的唯一标识符 |
error |
描述出错原因的字符串 |
is_interrupt |
可选布尔值,指示失败是否由用户中断引起 |
输入示例
{ "session_id": "abc123", "transcript_path": "/Users/.../.hcode/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl", "cwd": "/Users/...", "permission_mode": "default", "hook_event_name": "PostToolUseFailure", "tool_name": "Bash", "tool_input": { "command": "npm test", "description": "Run test suite" }, "tool_use_id": "toolu_01ABC123...", "error": "Command exited with non-zero status code 1", "is_interrupt": false }
|
输出参数 / 决策控制
PostToolUseFailure hooks 可在工具失败后向 Hawa Code 提供上下文。除所有 hooks 共有的 JSON 输出字段外,还可返回以下事件特定字段:
| 字段 |
说明 |
additionalContext |
供 Hawa Code 考虑的额外上下文,与错误信息一并提供 |
输出示例
{ "hookSpecificOutput": { "hookEventName": "PostToolUseFailure", "additionalContext": "关于失败的其他信息" } }
|
退出码行为
| 退出码 |
行为 |
| 0 |
成功,解析 stdout 中的 JSON 响应 |
| 非零 |
失败,忽略 hook 输出 |