从链接启动会话
用 claude-cli:// 链接在新终端窗口里打开 Claude Code,预填工作目录和提示词:怎么构建链接、示例、注册与安全性。
深度链接是一个 claude-cli:// URL,它在新的终端窗口里打开 Claude Code,URL 可以携带工作目录和要预填的提示词。这让你可以分享一个一键开始任务的入口:任何装了 Claude Code 的人点击链接,就会看到一个会话打开、提示词已经打好。提示词被填入但不会发送,直到你按 Enter。
因为深度链接就是 URL,可以放在任何能放链接的地方:事件处理手册的一个步骤,用诊断提示词打开受影响服务的仓库;监控告警或仪表板,链接到针对某个指标的调查提示词;README 或 wiki 页面,用上手提示词打开项目;CI 失败通知,预填失败任务的名字。
深度链接如何工作
claude-cli:// 前缀是 Claude Code 在你的操作系统里注册的自定义 URL scheme,类似 mailto: 链接打开你的邮件客户端的方式。点击深度链接时:
- 浏览器或应用把 URL 交给你的操作系统
- 操作系统识别
claude-cli://前缀,在你的机器上启动 Claude Code - 一个新终端窗口打开,Claude Code 在链接指定的目录里运行,链接的提示词文字已经在输入框里
- 你阅读提示词,想改就改,然后按 Enter 发送
链接本身可以托管在任何地方,但会话总是在你点击的那台电脑上本地打开。显示链接的平台必须允许自定义 URL scheme。
启动的会话显示什么:深度链接自己从不执行任何东西,它只选择一个目录并填充提示框。即使你从不信任的页面点了链接,提示词也是惰性的:在你阅读被填入的内容并发送之前,没有任何东西到达模型。会话打开时,输入框下方会出现一行警告 Prompt from an external link,直到你发送或清除提示词才消失;对超过 1,000 个字符的提示词,警告里会包含字符数。
构建链接
深度链接以 claude-cli://open 开头,后接可选的查询参数。最小形式在你的家目录里用空提示词打开 Claude Code:
claude-cli://open想试一个链接而不把它放在页面上,可以把它粘贴到浏览器地址栏,或从 shell 里打开。加参数来控制会话从哪里开始、提示框里有什么:
| 参数 | 说明 |
|---|---|
q | 要预填到提示框的文字,要做 URL 编码;多行提示词里用 %0A 表示换行;最多 5,000 个字符 |
cwd | 用作工作目录的绝对路径;网络路径和 UNC 路径会被拒绝,含 .. 段或不可见/双向控制字符的路径也会被拒绝 |
repo | GitHub 的 owner/name 标识;Claude Code 把它解析成它见过的本地克隆并在那里启动;没有匹配的克隆时,会话改在家目录打开 |
cwd 和 repo 是设置工作目录的两种方式;两个都传时,cwd 优先、repo 被忽略,即使 cwd 路径不存在。下面的链接指向名为 acme/payments 的仓库,带两行诊断提示词(构建自己的链接时把 acme/payments 换成你仓库的 owner/name):
claude-cli://open?repo=acme/payments&q=Investigate%20the%20failed%20deploy%20of%20payments-api.%0ACheck%20recent%20commits%20to%20main%20and%20the%20last%20successful%20build.点击它会打开一个新终端窗口,在你本地的 acme/payments 克隆里启动 Claude Code,并在提示框里填上解码后的文字:
Investigate the failed deploy of payments-api.
Check recent commits to main and the last successful build.官方原文还涵盖在 runbook 里嵌入链接和从 shell 里触发的示例、各平台上的处理程序注册和支持的终端模拟器、禁用注册,以及 GitHub 等平台把链接渲染为纯文本时的变通办法。