Adds a lifecycle hook to .claude/settings.json. Hooks run shell commands in response to Claude Code events — format code after writes, lint changes, block dangerous commands, etc. Supported events: • PreToolCall: Before a tool executes (use to block or validate) • PostToolCall: After a tool exec...
Accepts freeform code/query input (command)
Part of the Ccboot MCP server. Enforce policies on this tool with Intercept, the open-source MCP proxy.
AI agents use ccboot_create_hook to create or modify resources in Ccboot. Write operations carry medium risk because an autonomous agent could trigger bulk unintended modifications. Rate limits prevent a single agent session from making hundreds of changes in rapid succession. Argument validation ensures the agent passes expected values.
Without a policy, an AI agent could call ccboot_create_hook repeatedly, creating or modifying resources faster than any human could review. Intercept's rate limiting ensures write operations happen at a controlled pace, and argument validation catches malformed or unexpected inputs before they reach Ccboot.
Write tools can modify data. A rate limit prevents runaway bulk operations from AI agents.
tools:
ccboot_create_hook:
rules:
- action: allow
rate_limit:
max: 30
window: 60 See the full Ccboot policy for all 16 tools.
Agents calling write-class tools like ccboot_create_hook have been implicated in these attack patterns. Read the full case and prevention policy for each:
Other tools in the Write risk category across the catalogue. The same policy patterns (rate-limit, validate) apply to each.
Adds a lifecycle hook to .claude/settings.json. Hooks run shell commands in response to Claude Code events — format code after writes, lint changes, block dangerous commands, etc. Supported events: • PreToolCall: Before a tool executes (use to block or validate) • PostToolCall: After a tool executes (use to format, lint, test) • Notification: On status notifications • Stop: When Claude stops generating • SubagentStop: When a subagent stops • PreCompact: Before context compaction • PostCompact: After context compaction • SessionStart: When a new session begins Environment variables available: $TOOL_INPUT_COMMAND, $TOOL_INPUT_FILE_PATH, etc. Examples: ccboot_create_hook({ event: "PostToolCall", matcher: "Write|Edit", command: 'npx prettier --write "$TOOL_INPUT_FILE_PATH"', exit_behavior: "notify", description: "Format on write" }) ccboot_create_hook({ event: "PreToolCall", matcher: "Bash", command: 'echo "$TOOL_INPUT_COMMAND" | grep -qE "rm -rf|DROP TABLE" && exit 1', exit_behavior: "block", description: "Block dangerous commands" }) Returns: Hook details, updated settings path. Idempotent: Re-running with same command+matcher updates the existing hook.. It is categorised as a Write tool in the Ccboot MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Add a rule in your Intercept YAML policy under the tools section for ccboot_create_hook. You can allow, deny, rate-limit, or validate arguments. Then run Intercept as a proxy in front of the Ccboot MCP server.
ccboot_create_hook is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the ccboot_create_hook rule in your Intercept policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the Intercept policy for ccboot_create_hook. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
ccboot_create_hook is provided by the Ccboot MCP server (ccboot-mcp-server). Intercept sits as a proxy in front of this server to enforce policies before tool calls reach the server.
Open source. One binary. Zero dependencies.
npx -y @policylayer/intercept