CLI Reference

Complete command reference for hooks.

hooks

Claude hooks integration for Grove ecosystem

Usage: hooks [command]

Available Commands: completion Generate the autocompletion script for the specified shell debug-workspaces Debug workspace hierarchy and node properties help Help about any command install Install grove-hooks configuration for Claude Code notification Run the notification hook opencode Manage opencode integration posttooluse Run the post-tool-use hook pretooluse Run the pre-tool-use hook sessions Manage and query local agent sessions stop Run the stop hook subagent-stop Run the subagent stop hook tui Browse sessions interactively version Print the version information for this binary

Flags: -c, —config string Path to grove.yml config file -h, —help help for hooks —json Output in JSON format -v, —verbose Enable verbose logging

Use “hooks [command] —help” for more information about a command.

hooks install

Install grove-hooks configuration for Claude Code.

Can install locally (default) to .claude/settings.local.json or globally to ~/.claude/settings.json.

This command merges configuration non-destructively, preserving any other hooks you may have defined.

Usage: hooks install [flags]

Flags: -d, —directory string Target directory for local installation (default ”.”) -g, —global Install hooks globally to ~/.claude/settings.json -h, —help help for install

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks notification

Run the notification hook

Usage: hooks notification [flags]

Flags: -h, —help help for notification

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks opencode

Commands for integrating opencode with grove-hooks for session monitoring in the TUI.

Usage: hooks opencode [command]

Available Commands: install Install the Grove integration plugin for opencode

Flags: -h, —help help for opencode

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

Use “hooks opencode [command] —help” for more information about a command.

hooks opencode install

Install the Grove integration plugin for opencode.

This command writes the grove-integration.ts plugin to your global opencode plugin directory (~/.config/opencode/plugin/). Once installed, opencode sessions will automatically appear in the grove-hooks TUI with live status updates.

Usage: hooks opencode install [flags]

Flags: -h, —help help for install

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks posttooluse

Run the post-tool-use hook

Usage: hooks posttooluse [flags]

Flags: -h, —help help for posttooluse

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks pretooluse

Run the pre-tool-use hook

Usage: hooks pretooluse [flags]

Flags: -h, —help help for pretooluse

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks sessions

Manage and query local agent sessions

Usage: hooks sessions [command]

Available Commands: archive Archive one or more sessions browse Browse sessions interactively cleanup Clean up inactive sessions get Get details of a specific session kill Kill a running Claude session list List all sessions (primarily interactive Claude sessions) mark-interrupted Mark all stale grove-flow jobs as interrupted mark-old-completed Mark old jobs as completed set-status Set the status of a grove-flow job

Flags: -h, —help help for sessions

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

Use “hooks sessions [command] —help” for more information about a command.

hooks sessions archive

Archive sessions by marking them as deleted. Archived sessions are hidden from normal queries.

You can archive specific sessions by ID or use flags to archive multiple sessions:

  • Use —all to archive all sessions regardless of status
  • Use —completed to archive only completed sessions
  • Use —failed to archive only failed sessions
  • Use —running to archive only running sessions
  • Use —idle to archive only idle sessions

Usage: hooks sessions archive [session-id…] [flags]

Flags: —all Archive all sessions regardless of status —completed Archive only completed sessions —failed Archive only failed sessions -h, —help help for archive —idle Archive only idle sessions —running Archive only running sessions

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks sessions browse

Launch an interactive terminal UI to browse all sessions (Claude sessions and grove-flow jobs). Navigate with arrow keys, search by typing, and select sessions to view details.

Usage: hooks sessions browse [flags]

Aliases: browse, b

Flags: —active Show only active sessions (hide completed/failed) -h, —help help for browse

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks sessions cleanup

Check all running and idle sessions and mark those that have been inactive for too long as completed.

Usage: hooks sessions cleanup [flags]

Flags: -h, —help help for cleanup —inactive-minutes int Minutes of inactivity before marking session as completed (default 30) -v, —verbose Show verbose output

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format

hooks sessions get

Get details of a specific session

Usage: hooks sessions get <session-id> [flags]

Flags: -h, —help help for get —json Output as JSON

Global Flags: -c, —config string Path to grove.yml config file -v, —verbose Enable verbose logging

hooks sessions kill

Kill a running Claude session by sending a SIGTERM signal to its process. The session directory will be cleaned up after killing the process.

WARNING: This will terminate the Claude process immediately.

Usage: hooks sessions kill <session-id> [flags]

Flags: -f, —force Skip confirmation prompt -h, —help help for kill

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks sessions list

List all sessions (primarily interactive Claude sessions)

Usage: hooks sessions list [flags]

Flags: —active Show only active sessions (hide completed/failed) -h, —help help for list —json Output as JSON -l, —limit int Limit number of results -p, —plan string Filter by plan name -s, —status string Filter by status (running, idle, completed, failed) -t, —type string Filter by session type (claude, job, oneshot_job)

Global Flags: -c, —config string Path to grove.yml config file -v, —verbose Enable verbose logging

hooks stop

Run the stop hook

Usage: hooks stop [flags]

Flags: -h, —help help for stop

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks tui

Launch an interactive terminal UI to browse all sessions (Claude sessions and grove-flow jobs). Navigate with arrow keys, search by typing, and select sessions to view details.

Usage: hooks tui [flags]

Aliases: tui, browse, b

Flags: —active Show only active sessions (hide completed/failed) -h, —help help for tui

Global Flags: -c, —config string Path to grove.yml config file —json Output in JSON format -v, —verbose Enable verbose logging

hooks version

Print the version information for this binary

Usage: hooks version [flags]

Flags: -h, —help help for version —json Output version information in JSON format

Global Flags: -c, —config string Path to grove.yml config file -v, —verbose Enable verbose logging