configure
npx machina-cli add skill Edmonds-Commerce-Limited/claude-code-hooks-daemon/configure --openclaw/configure - Handler Configuration Skill
Description
View and modify the hooks daemon configuration interactively. Supports listing handlers, viewing individual handler settings, and changing options (enabled, priority, handler-specific options) with automatic daemon restart and verification.
Usage
# Show summary of current config (daemon settings + handler overview)
/configure
# List all handlers with their configurable options
/configure list
# Show config for one handler
/configure sed_blocker
# Set a handler option
/configure sed_blocker blocking_mode=direct_invocation_only
# Disable a handler
/configure sed_blocker enabled=false
# Re-enable a handler
/configure sed_blocker enabled=true
# Override a handler's priority
/configure sed_blocker priority=15
# Set options on handlers with nested options block
/configure git_stash mode=deny
/configure markdown_organization track_plans_in_project=CLAUDE/Plan
Parameters
- handler (optional): Handler config key (e.g.,
destructive_git,sed_blocker)- If omitted: Show config summary
- If
list: Show all handlers with options
- option=value (optional): Key-value pair to set
enabled=true|false-- Enable or disable the handlerpriority=N-- Override handler priority (integer)<option_key>=<value>-- Set a handler-specific option
What It Does
Show Summary (/configure)
- Reads
.claude/hooks-daemon.yaml - Displays daemon settings (log_level, idle_timeout, etc.)
- Lists all handlers grouped by event type with enabled/disabled status and priority
List Handlers (/configure list)
- Reads
.claude/hooks-daemon.yaml - For each handler, shows:
- Config key, event type, enabled status, priority
- Any configurable options and their current values
- Available options from source code (with defaults)
Show Handler (/configure <handler>)
- Reads
.claude/hooks-daemon.yaml - Locates handler under its event type section
- Displays all current settings and available options
- Cross-references
docs/guides/HANDLER_REFERENCE.mdfor description
Set Option (/configure <handler> <option>=<value>)
- Reads
.claude/hooks-daemon.yaml - Locates the handler under
handlers.<event_type> - Updates the setting:
enabledandpriority: Set directly on the handler block- Other options: Set under the handler's
options:sub-block
- Saves the file (preserving YAML structure and comments where possible)
- Restarts daemon to apply changes
- Verifies daemon status is RUNNING
- Reports result
Python Path Detection
The skill detects the correct Python path automatically:
# Self-install mode (daemon development)
if [ -f "/workspace/untracked/venv/bin/python" ]; then
PYTHON="/workspace/untracked/venv/bin/python"
# Normal install mode
elif [ -f ".claude/hooks-daemon/untracked/venv/bin/python" ]; then
PYTHON=".claude/hooks-daemon/untracked/venv/bin/python"
fi
Handler Options Reference
📖 Single source of truth: Handler Reference
Every handler's configurable options, values, defaults, and examples are documented there. Do not duplicate that content here.
Quick examples of what options look like:
sed_blocker→blocking_mode(strict|direct_invocation_only)git_stash→mode(warn|deny)markdown_organization→track_plans_in_project,plan_workflow_docs
All handlers also accept the common properties enabled (bool) and priority (int).
Use /configure list to see what options are set in your current config.
Config File Location
The skill reads and writes to:
<project-root>/.claude/hooks-daemon.yaml
Output
On successful option change:
Updated sed_blocker.options.blocking_mode = direct_invocation_only
Restarting daemon...
Daemon: RUNNING (PID 12345)
Change applied successfully.
On show handler:
Handler: sed_blocker
Event type: pre_tool_use
Enabled: true
Priority: 11
Type: Blocking
Options:
blocking_mode: strict (default)
Values: strict | direct_invocation_only
Description: Controls which invocations are blocked
Error Handling
Handler not found:
Handler "destrutive_git" not found.
Did you mean: destructive_git?
Invalid option:
Unknown option "blcoking_mode" for sed_blocker.
Available options: blocking_mode
Daemon fails to restart:
WARNING: Daemon failed to start after config change.
Check logs: $PYTHON -m claude_code_hooks_daemon.daemon.cli logs
Consider reverting the change.
Requirements
.claude/hooks-daemon.yamlmust exist- Python venv must be available (self-install or normal install)
- Daemon must be installed and operational
Documentation
SINGLE SOURCE OF TRUTH: @docs/guides/CONFIGURATION.md for config syntax Handler options: @docs/guides/HANDLER_REFERENCE.md
Version
Introduced in: v2.16.0
Source
git clone https://github.com/Edmonds-Commerce-Limited/claude-code-hooks-daemon/blob/main/.claude/skills/configure/SKILL.mdView on GitHub Overview
View and modify the hooks daemon configuration. Enable or disable handlers, adjust priorities, and set handler-specific options with automatic daemon restart and verification.
How This Skill Works
The skill reads <project-root>/.claude/hooks-daemon.yaml, displays current settings, and applies changes by updating values and saving the YAML. It then restarts the daemon and verifies the status is RUNNING.
When to Use It
- To enable, disable, or change a handler's priority for better control of event handling.
- To view a snapshot of daemon settings and per-handler statuses.
- To configure a handler-specific option such as blocking_mode, mode, or track_plans_in_project.
- Before deploying changes, ensure the daemon restarts and returns RUNNING to confirm apply actions.
- When you need to set nested options under a handler's options block and preserve YAML structure.
Quick Start
- Step 1: Run /configure to view a summary of current config.
- Step 2: Run /configure <handler> <option>=<value> to apply a change.
- Step 3: Confirm the daemon status is RUNNING after changes.
Best Practices
- Always backup <project-root>/.claude/hooks-daemon.yaml before changes.
- Make one option change at a time to isolate effects.
- Consult HANDLER_REFERENCE.md for available options and defaults.
- After changes, verify the daemon status is RUNNING.
- Preserve YAML structure and comments where possible when saving.
Example Use Cases
- Disable the sed_blocker handler to stop blocking behavior without stopping other handlers.
- Override the sed_blocker priority to 15 to favor it during processing.
- Set sed_blocker blocking_mode to direct_invocation_only to tighten flow.
- Set git_stash mode to deny to reduce risk of stash leaks.
- Set markdown_organization track_plans_in_project to CLAUDE/Plan to track plans in a project.