claude-code-notifier
工作原理 指南 常见问题
◐简体中文
English العربية Deutsch Español Français עברית Italiano 日本語 한국어 Nederlands Polski Português (Brasil) Русский Türkçe Tiếng Việt 简体中文 繁體中文
开始使用
全部指南

在手机上批准 Claude Code 权限请求

更新于 2026年10月31日 · 阅读约 6 分钟
本页内容 01为什么权限提示会卡住你的工作 02PermissionRequest hook 如何替你作答 03自己动手实现 04使用 Claude Code Notifier 05顺便减少需要审批的事项 06常见问题

之所以能在手机上批准 Claude Code 的权限请求,是因为 Claude Code 在显示权限提示前会先运行 PermissionRequest hook,而这个 hook 可以直接返回决定。只要有工具把请求发到你的手机、等你点按,再返回 allow 或 deny,你就能随时随地作答。Claude Code Notifier 就是这样做的:一个小巧的命令行工具 ccn,支持 Mac、Windows 和 Linux,再配一个 iPhone 或 Android app。

01为什么权限提示会卡住你的工作

在默认权限模式下,Claude Code 在运行大多数 shell 命令、编辑文件或抓取网页前都会询问。提示会一直停在 terminal 里,直到有人回应。如果你去泡了杯咖啡,整个任务就卡在这个问题上,回来才发现。

有三种办法解决:

  • 减少批准次数。为信任的命令添加 allow 规则,或者换用更宽松的模式。这适合日常工作,详见 Claude Code 权限模式详解。
  • 收到通知,再走回去。通知 hook 会告诉你有 prompt 在等待,但你还是得回到键盘前。
  • 远程回复。PermissionRequest hook 会把问题发到你的手机上,再把你的回复交回给 Claude Code。

本指南讲的就是第三种方式。

02PermissionRequest hook 如何替你作答

当某个工具调用需要权限决定时,Claude Code 会触发 PermissionRequest。hook 会从标准输入收到 JSON,其中包含 tool_name 和 tool_input(例如 Bash 命令),以及可选的 permission_suggestions 列表,里面是 Claude Code 建议保存的规则。

hook 通过输出类似下面的 JSON 来作答:

{
  "hookSpecificOutput": {
    "hookEventName": "PermissionRequest",
    "decision": {
      "behavior": "allow"
    }
  }
}

behavior 的值为 allow 或 deny。拒绝时可以加上 message 告诉 Claude 原因,也可以加上 interrupt: true 让 Claude 直接停下。批准时,可以用 updatedPermissions 应用权限规则,之后就不会再问。如果 hook 什么都不返回,Claude Code 会照常显示提示。

所以远程审批 hook 要做三件事:把请求发到你能看到的地方,等待回复,并在 hook 超时前输出正确的 JSON。完整的字段列表和可用脚本见通过 hook 回复权限请求。

注册 hook

hook 配置在 ~/.claude/settings.json(对所有项目生效)或 .claude/settings.json(仅对单个项目生效)中:

{
  "hooks": {
    "PermissionRequest": [
      {
        "matcher": "*",
        "hooks": [
          { "type": "command", "command": "/path/to/your-approval-script" }
        ]
      }
    ]
  }
}

matcher 按工具名过滤,所以设为 "Bash" 就只会把 shell 命令发到手机。命令类 hook 默认超时为 600 秒,这也是 hook 等你回复的最长时间。

03自己动手实现

自己做一个也可行。常见做法是把请求发到 ntfy 之类的 push 服务,附带两个操作按钮,回调到一个小型 Web 端点,然后让 hook 轮询该端点,直到收到回复或计时结束。发送部分可参考用 ntfy 实现 Claude Code push 通知。

真正费时间的是各种边界情况:

  • 你就在键盘前。如果 hook 总是等手机回复,你在等待期间就没法在 terminal 里作答。好的 hook 会察觉你在场并自动让路。
  • 超时。hook 必须在 Claude Code 超时之前放弃,并干净地回退。
  • 安全。任何能访问你回调端点的人都能批准在你电脑上执行的命令,所以必须加认证。
  • 多个会话。每个请求都要发到正确的会话,并回到该会话。

如果你喜欢折腾,这是个不错的周末项目。如果想今天就用上,现成的工具能省不少事。

04使用 Claude Code Notifier

Claude Code Notifier 是由 TouchTap Ltd 开发的独立工具,并非 Anthropic 出品,也与其无关联。它由两部分组成:ccn,一个适用于 Mac、Windows 和 Linux 的免费命令行工具;以及 iPhone 和 Android 手机 App。

1. 安装 ccn

在 Mac 和 Linux 上:

curl -fsSL https://claudecodenotifier.com/install.sh | sh

在 Windows 上,使用 PowerShell(Windows 支持目前为 beta):

irm https://claudecodenotifier.com/install.ps1 | iex

Homebrew、npm 和插件的安装方式见 ccn 页面。安装后会在 ~/.claude/settings.json 中添加七个 hook 条目,每个都运行 ccn hook,并保留原文件的备份。其中之一就是 PermissionRequest hook。Claude Code 调用 ccn 时,它只运行几毫秒就退出,不会有任何后台进程,并且能在任意 terminal 中使用,包括 IDE 内置 terminal。

2. 配对手机

运行 ccn pair 并扫描二维码,或输入 App 中的 6 位数字码。各操作系统的详细步骤见将手机连接到 Claude Code。

3. 直接在通知里作答

当 Claude 需要权限而你不在电脑前时,手机会显示它想做什么,比如要运行的命令。你可以:

  • 允许一次,仅限本次调用。
  • 本会话内允许,该会话中同类请求不再询问。
  • 拒绝,Claude 会知道请求被拒并继续工作。

hook 返回你的回复,Claude 继续执行。

你在电脑前时会怎样

ccn 会检测你是否在场。如果你在最近 30 秒内有键盘输入,就不会等待:terminal 照常询问,手机最多收到一条提醒。如果你不在,terminal 会等待手机的回复,最长等到你设定的上限,而一旦你碰键盘就立即停止等待。所以你总能在离你更近的地方作答。

这个上限可以设置:

ccn config set hold_ceiling_seconds 900

取值范围为 30 到 3600 秒,默认 600。presence_threshold_seconds 用来修改那个 30 秒的窗口。大多数设置也可以在手机 App 中按电脑分别修改。

验证是否生效

ccn doctor   # checks hooks, credentials, server connection and presence detection
ccn test     # sends a test notification

手机 App 可免费下载,使用需要订阅或一次性买断,详见价格。即使没有手机,Claude 需要权限时 ccn 也会在电脑上免费显示桌面通知。

05顺便减少需要审批的事项

远程审批最好配合合理的 allow 规则一起用。如果你一天要批准二十次 npm test,就在 permissions.allow 里加一条 Bash(npm test *) 这样的规则,把手机留给真正值得看一眼的请求。在小屏幕上批准之前,先读一遍命令。在手机上批准 Claude Code 的操作安全吗?介绍了需要检查哪些内容。

06常见问题

不装额外工具,Claude Code 能在手机上请求权限吗?

Anthropic 的 Remote Control 功能在支持的套餐上可以让你通过 Claude 应用或 claude.ai/code 继续本地会话,包括回答 prompt。Claude Code Notifier 这类基于 hook 的工具思路不同:它不需要开启 Remote Control,只推送需要你处理的时刻。在手机上使用 Claude Code对两者做了对比。

如果我没在手机上回应会怎样?

使用 ccn 时,hook 最多等待 hold_ceiling_seconds 设置的时长。如果你回来先碰了键盘,它就停止等待,改由你在 terminal 里回答 prompt。

“本次会话允许”会修改我的 settings.json 吗?

不会。它只对当前会话生效。要永久允许某项操作,请在 /permissions 或设置文件里添加 allow 规则。

支持 Windows 和 Linux 吗?

支持。ccn 可在 Mac、Windows 和 Linux 上运行,手机应用三者都能配合使用。Windows 支持目前处于 beta 阶段。

可以在多台电脑上使用吗?

可以。一部手机可以和多台电脑配对,一台电脑也可以配对多部手机。用 ccn devices 可以列出或撤销已配对的手机。

Claude Code Notifier Claude Code 完成任务或需要你介入时,手机会收到 push,你可以直接在手机上批准、拒绝或回复。ccn 命令行工具在 Mac、Windows 和 Linux 上均可免费使用。
下载 iOS 版 下载 Android 版 安装 ccn

相关指南

  • 用 hook 应答权限请求(PermissionRequest)Claude Code 的 PermissionRequest hook 如何工作、如何在脚本中允许或拒绝,以及为什么权限规则往往是更好的选择。
  • 在 Mac、Windows 或 Linux 上将手机连接到 Claude Code一分钟把手机与 Claude Code 配对:安装 ccn,然后扫描二维码或输入 6 位配对码。附 Mac、Windows 和 Linux 操作步骤。
  • 在手机上批准 Claude Code 的操作安全吗?Claude Code 远程批准的工作原理、可能出现的问题、哪些数据会离开你的电脑,以及保证安全的设置。
  • Claude Code 权限模式详解(default、acceptEdits、plan、bypassPermissions)Claude Code 各权限模式(default、acceptEdits、plan、auto、dontAsk、bypassPermissions)的作用、切换方法以及各自适用的安全场景。
claude-code-notifier

Claude Code Notifier 是一款独立的第三方应用,与 Anthropic, PBC 无关联,亦未获其认可或赞助。“Claude”和“Claude Code”是 Anthropic, PBC 的商标。

应用 iOS 应用 Android 应用 适用于 macOS、Windows 和 Linux 的 ccn 全部指南
法律信息 隐私政策 服务条款 其他语言 © 2026 touchtap。保留所有权利。 TouchTap Ltd 注册于英格兰和威尔士,公司编号 13942589。