Files
2026-07-13 12:52:40 +08:00

35 lines
948 B
Python
Executable File

#!/usr/bin/env python3
"""
Cline Hook: PreToolUse (Python)
Logs every tool call before it executes.
Copy to ~/.cline/hooks/PreToolUse.py and chmod +x
"""
import sys
import json
def main():
# Read event payload from stdin
try:
event = json.load(sys.stdin)
except json.JSONDecodeError as e:
print(json.dumps({"errorMessage": f"Failed to parse hook input: {e}"}))
return
# Extract tool information
tool_call = event.get("tool_call", {})
tool_name = tool_call.get("name", "unknown")
parameters = event.get("preToolUse", {}).get("parameters", {})
# Log to stderr
print(f"🔧 Tool: {tool_name}", file=sys.stderr)
if parameters:
param_str = ", ".join(f"{k}={v}" for k, v in parameters.items())
print(f" Args: {param_str}", file=sys.stderr)
# Return empty control object (allow the tool to execute)
print(json.dumps({}))
if __name__ == "__main__":
main()