Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计提醒

claude-hooks-configurationClaude hooks configuration 搜索

Agent Skill

claude-hooks-configuration 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

766

周安装

31

GitHub Stars

28

下载量

241
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:claude-hooks-configuration(Claude hooks configuration 搜索)
来源仓库:https://github.com/laurigates/claude-plugins
仓库路径:skills/claude-hooks-configuration
安装命令:
npx skills add https://github.com/laurigates/claude-plugins --skill claude-hooks-configuration
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/laurigates/claude-plugins --skill claude-hooks-configuration

简介

配置 Claude Code 生命周期钩子事件与超时参数。

  • 适合管理 SessionStart、ToolUse 等 17 种触发事件。
  • 使用时需设置合理超时防止 "Hook cancelled" 错误。
  • 涉及 ConfigChange 事件时应同步更新本地配置文件。
  • claude-hooks-configuration 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Claude Code Hooks Configuration

Core Expertise

Configure Claude Code lifecycle hooks (all 17 events including SessionStart, Stop, PreToolUse, PostToolUse, PostToolUseFailure, PermissionRequest, WorktreeCreate, TeammateIdle, TaskCompleted, ConfigChange, and more) with proper timeout settings to prevent "Hook cancelled" errors during session management.

Hook Events

HookTriggerDefault Timeout
SessionStartWhen Claude Code session begins600s (command)
SessionEndWhen session ends or /clear runs600s (command)
StopWhen main agent stops responding600s (command)
SubagentStopWhen a subagent (Task tool) finishes600s (command)
PreToolUseBefore a tool executes600s (command)
PostToolUseAfter a tool completes600s (command)
PostToolUseFailureAfter a tool execution fails600s (command)
PermissionRequestWhen Claude requests permission for a tool600s (command)
WorktreeCreateNew git worktree created via EnterWorktree600s (command)
WorktreeRemoveWorktree removed after session exits600s (command)
TeammateIdleTeammate in agent team goes idle600s (command)
TaskCompletedTask in shared task list marked complete600s (command)
ConfigChangeClaude Code settings change at runtime600s (command)

Default timeouts: command = 600s, prompt = 30s, agent = 60s. Always set explicit timeouts — it documents intent.

Hook Types

TypeHow It WorksDefault TimeoutUse When
commandRuns a shell command, reads stdin, returns exit code/JSON600sDeterministic rules
httpSends hook data to an HTTPS endpoint30sRemote/centralized policy
promptSingle-turn LLM call, returns {ok: true/false}30sJudgment on hook input data
agentMulti-turn subagent with tool access, returns {ok: true/false}60sVerification needing file/tool access

Async and Once

  • async: true on command hooks: fire-and-forget, does not block the operation
  • once: true on any hook handler: runs only once per session, subsequent triggers skipped

For full event reference, schemas, and examples, see .claude/rules/hooks-reference.md.

Common Issue: Hook Cancelled Error

SessionEnd hook [bash ~/.claude/session-logger.sh] failed: Hook cancelled

Root cause: Hook execution exceeds the configured timeout. With the 2.1.50 default of 10 minutes, this is now less common — but explicitly setting "timeout" in your hook config is still recommended.

Solutions (in order of preference):

  1. Background subshell - Run slow operations in background, exit immediately
  2. Explicit timeout - Add timeout field to hook configuration

Hook Configuration

Location

Hooks are configured in .claude/settings.json:

  • User-level: ~/.claude/settings.json
  • Project-level: <project>/.claude/settings.json

Structure with Timeout

{
  "hooks": {
    "SessionEnd": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/session-logger.sh",
            "timeout": 120
          }
        ]
      }
    ],
    "SessionStart": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/session-setup.sh",
            "timeout": 180
          }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "~/.claude/stop-hook-git-check.sh",
            "timeout": 30
          }
        ]
      }
    ]
  }
}

Timeout Guidelines

Hook TypeRecommended TimeoutUse Case
SessionStart120–300sTests, linters, dependency checks
SessionEnd60–120sLogging, cleanup, state saving
Stop / SubagentStop30–60sGit status checks, quick validations
PreToolUse10–30sQuick validations
PostToolUse30–120sLogging, notifications
PermissionRequest5–15sKeep fast for good UX

Fixing Timeout Issues

Recommended: Background Subshell Pattern

The most portable and robust solution is to run slow operations in a background subshell and exit immediately:

#!/bin/bash
# ~/.claude/session-logger.sh
# Exits instantly, work continues in background

(
  # All slow operations go here
  echo "$(date): Session ended" >> ~/.claude/session.log
  curl -s -X POST "https://api.example.com/log" -d "session_end=$(date)"
  # Any other slow work...
) &>/dev/null &

exit 0

Why this works:

  • () creates a subshell for the commands
  • & runs the subshell in background
  • &>/dev/null prevents stdout/stderr from blocking
  • exit 0 returns success immediately

Comparison of approaches:

ApproachPortabilitySpeedNotes
() &bash, zsh, shInstantRecommended
disownBash-onlyInstantNot POSIX
nohupPOSIXSlight overheadOverkill for hooks

Alternative: Increase Timeout

If you need synchronous execution, add explicit timeout to settings:

cat ~/.claude/settings.json | jq '.hooks'
# Edit to add "timeout": <seconds> to each hook

Script Optimization Patterns

OptimizationPattern
Background subshell(commands) &>/dev/null &
Fast test modes--bail=1, -x, --dots
Skip heavy operationsConditional execution
Parallel executionUse & and wait

Related: Starship Timeout

If you see:

[WARN] - (starship::utils): Executing command "...node" timed out.

This is a separate starship issue. Fix by adding to ~/.config/starship.toml:

command_timeout = 1000  # 1 second (default is 500ms)

For slow node version detection:

[nodejs]
disabled = false
detect_files = ["package.json"]  # Skip .nvmrc to speed up detection

[command]
command_timeout = 2000  # Increase if still timing out

Agentic Optimizations

ContextCommand
View hooks config`cat ~/.claude/settings.json \jq '.hooks'`
Test hook scripttime bash ~/.claude/session-logger.sh
Find slow operations`bash -x ~/.claude/session-logger.sh 2>&1 \head -50`
Check starship configstarship config

Quick Reference

SettingLocationDefault
Hook timeout.claude/settings.json → hook → timeout10 minutes (600s) since 2.1.50
Starship timeout~/.config/starship.tomlcommand_timeout500ms
Node detection~/.config/starship.toml[nodejs]Auto

Error Handling

ErrorCauseFix
Hook cancelledTimeout exceededAdd explicit "timeout" (e.g. "timeout": 120)
Hook failedScript errorCheck exit code, add error handling
Command not foundMissing scriptVerify script path and permissions
Permission deniedScript not executablechmod +x ~/.claude/script.sh

Best Practices

  1. Use background subshell - Wrap slow operations in () &>/dev/null & and exit 0
  2. Set explicit timeouts - Add timeout field for hooks requiring synchronous execution
  3. Test hook timing - Use time bash ~/.claude/script.sh to measure execution
  4. Redirect all output - Use &>/dev/null to prevent blocking on stdout/stderr
  5. Apply /hooks menu - Use Claude Code's hook menu to reload settings after changes

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.07%
按下载量换算87

Claude

32.02%
按下载量换算77

Cursor

18.77%
按下载量换算45

Gemini CLI

9.52%
按下载量换算23

安全审计

Gen Agent Trust Hub

可疑

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/laurigates/claude-plugins --skill claude-hooks-configuration 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills