Files
cline/sdk/examples/hooks/PreToolUse.py
T
Renee Huang e215d3d91c chore: rename example folders; fix references (#60)
* rename folders

* fix examples reorg references

* move over files

* having agent fixing and validating all examples are still working

* fix sidecar paths

---------

Co-authored-by: abeatrix <beatrix@cline.bot>
2026-05-07 20:38:04 -07: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()