PreToolUse
PulseAugur coverage of PreToolUse — every cluster mentioning PreToolUse across labs, papers, and developer communities, ranked by signal.
4 天有情绪数据
-
开发者分享测量 Claude 代码钩子延迟的方法
一位开发者详细介绍了一种测量集成到 Claude 代码中的自定义脚本(称为“钩子”)延迟的方法。这些钩子用于自动 git 提交或项目分类等任务,如果未经优化,可能会显著减慢用户体验。该开发者提出了一种轻量级的 shell 脚本包装器,该包装器使用 bash 的 `$EPOCHREALTIME` 变量来记录每个钩子的执行时间,从而使用户能够在不更改现有钩子逻辑的情况下识别和解决性能瓶颈。
-
Claude Code hook 错误导致工具调用在第一次拒绝后停止
用户在使用 Claude Code 时遇到一个问题,即工具使用 hook 在第一次拒绝后停止工作。用户试图通过 PreToolUse hook 将文件读取重定向到本地 LLM 摘要工具来减少 token 使用量。然而,在 hook 拒绝了 'Read' 工具后,尽管模型似乎调用了本地摘要工具,但 hook 未记录后续调用。在 Windows 11 Home 上运行的 Claude Code 2.1.227 上观察到了这种行为。用户还指…
-
开发者分享 Claude Code 使用技巧和常见错误修复方法
一位开发者分享了他们一年多来将 Claude Code 作为主要编码助手的使用经验和教训。他们详细介绍了六个常见错误,包括重复指令而不是使用 CLAUDE.md,误解 CLAUDE.md 的作用与用于强制执行的钩子,以及在只需要一部分时低效地加载整个文件。开发者还讨论了维护单个、长时间运行的会话的缺点以及任务中途压缩的陷阱,并针对每个问题提供了具体的策略和修复方法,以提高效率和模型性能。
-
Claude Code 钩子:自定义脚本执行故障排除指南
本指南解释了如何排除 Claude Code 钩子的问题,这些钩子是旨在 Claude Code 环境中自动化操作或强制执行策略的自定义脚本。它详细介绍了通过检查 `/hooks` 命令和检查正确的设置文件来验证钩子是否已加载的步骤,并指出钩子可以从多个来源合并。该指南还涵盖了已加载的钩子未能执行的场景,将其归因于区分大小写的匹配器、不正确的事件触发器(PreToolUse vs. PostToolUse)或 PermissionRe…
-
Claude Code v2.1.211 修复了 Bash 执行安全护栏被静默覆盖的问题
Claude Code 版本 v2.1.211 修复了一个关键错误,该错误会导致其自动模式悄无声息地覆盖用户配置的 PreToolUse Hook,这些 Hook 设计用于在执行未沙盒化的 Bash 命令前进行提示。之前,如果 Hook 返回 'ask' 决定,自动模式会忽略它并继续执行命令,绕过了关键的安全护栏。这个问题尤其令人担忧,因为未沙盒化的 Bash 是代理可以访问的风险最高的工具,绕过这一限制构成了重大的安全漏洞,侵蚀了对…
-
使用自定义 Bash 包装器测量 Claude Code hook 的性能
一位开发者创建了一个 Bash 脚本来测量 Claude Code 环境中 hook 的执行时间。该脚本 `hook-latency-wrap.sh` 作为现有 hook 命令的包装器,以毫秒为单位记录其经过的时间,并将其记录到 JSONL 文件中。这使得开发者能够识别出哪些特定的 hook 导致 Claude Code 响应时间延迟,这个问题随着 hook 的增加而变得更加明显。该包装器利用 `$EPOCHREALTIME` 变量进…
-
Claude Code 使用 PreToolUse 护栏防止执行风险命令
作者开发了一个系统,用于 Claude Code 防止执行潜在有害命令。该系统名为 PreToolUse,充当护栏,在命令运行前进行拦截。它采用基于模式的拒绝方法,阻止诸如 `rm -rf` 或将不可信脚本直接通过管道传输到 shell 等特定风险命令结构,同时默认允许所有其他命令。如果命令被阻止,将返回退出代码 2,并向 stderr 发送一条消息,告知代理原因,使其能够重新路由其操作。
-
开发者通过自定义 bash 钩子削减 Anthropic Claude Code 的成本
一位开发者通过为 Anthropic 的 Claude Code 实现自定义钩子,显著降低了其 AI 成本。通过添加一个 PostToolUse bash 钩子,他们阻止了 Claude Code 在迁移失败后进入昂贵的重试循环,从而将账单削减了 60%。此外,还实现了一个 PreToolUse 钩子,用于阻止从主分支进行部署,并添加了一个 pre-commit 钩子,用于在代码提交到 Git 之前扫描敏感信息。
-
Claude Code 为破坏性的 Git 命令增加了安全防护
Claude Code 引入了一项新的安全功能,当用户未明确请求时,会自动阻止破坏性的 Git 命令,例如 `git reset --hard` 和 `git checkout -- .`。这种内置的防护机制作为一个分类器运行,推断用户意图,而不是依赖于固定规则。然而,文章作者由于分类器可能误判、依赖自动模式以及覆盖范围有限(未涵盖所有潜在的破坏性操作),仍然在 `settings.json` 中保留了自定义的拒绝规则。
-
Anthropic Claude Code 钩子可自动化工作流程并增强安全性
Anthropic 的 Claude Code 为开发者提供了强大的钩子,用于自动化工作流程和增强安全性。`PreToolUse` 钩子可作为防范 `rm -rf` 或 `git push --force` 等破坏性命令的保护机制,防止意外操作。`PostToolUse` 钩子在写入后自动对代码进行 lint 和格式化,确保代理生成代码和人工编写代码之间的一致性。此外,`Stop` 钩子可在会话结束时自动执行 Git 提交,保留完整的…