
Deep Links 让 runbook、告警和 onboarding 文档用一个 claude-cli:// 链接打开本机 Claude Code 会话,并预填目录与 prompt。本篇拆解 q、cwd、repo 参数、安全边界、GitHub 渲染限制和 VS Code handler,帮助开发者把重复排查流程做成可点击入口。
claude-cli://open?... 链接,就能把人带到本机的 Claude Code 会话里,目录和提示词都先放好;但它不会替你自动执行,Enter 仍然在你手里。1claude-cli://,效果类似 mailto: 打开邮件客户端。点击链接后,浏览器或聊天工具把 URL 交给操作系统,系统识别这个 scheme,然后在本机启动 Claude Code。1open,参数主要看三个claude-cli://openclaude-cli://open 这个路径,后面可以跟查询参数。q 是预填到 prompt 框里的文本,必须 URL encode,多行 prompt 可以用 %0A 表示换行,最长 5,000 字符;cwd 是绝对路径;repo 是 GitHub 的 owner/name 仓库 slug。1claude-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 clone,并把解码后的两行 prompt 放进输入框。没有匹配的本地 clone 时,会话退回到 home directory。1cwd 和 repo 的选择,不是风格问题cwd 很直接:大家的项目都在同一个绝对路径,链接就写这个路径。官方同时限制了 cwd:网络路径、UNC 路径,以及包含不可见或双向控制字符的路径会被拒绝。1repo。Claude Code 会把你运行过 claude 的 Git 仓库路径记录到对应的 GitHub owner/name slug;同一个仓库有多个 clone 或 worktree 时,它会选最近使用过的那个路径。1| 场景 | 实际行为 |
|---|---|
同时传 cwd 和 repo | cwd 优先,repo 会被忽略;即使 cwd 不存在,也仍然以 cwd 为准。1 |
| 本机从没在这个 clone 里运行过 Claude Code | repo 查不到路径,会话打开到 home directory。1 |
repo 更稳;个人脚本、固定环境和一次性本地自动化,cwd 更省事。Prompt from an external link 警告;如果 prompt 超过 1,000 字符,警告还会提示字符数,并要求你滚动检查完整文本。1CLAUDE.md、目标目录的 trust prompt 仍然按普通 Claude Code 会话生效。换句话说,Deep Link 没有绕过权限系统,它只是把「进入哪个目录、先问什么」这两步变成链接。1settings.json 里把 disableDeepLinkRegistration 设为 "disable";组织级禁用则放进 managed settings。1q 参数,让值班同学少复制一段上下文。1claude-cli:// 这类 scheme,只留下不可点击的文本;官方建议在这些地方把 Deep Link 放进代码块,让读者复制到浏览器地址栏。1claude-cli:// handler;macOS 会复用最近一次交互会话使用的终端,Linux 会按 $TERMINAL、x-terminal-emulator 和常见终端列表查找,Windows 优先使用 Windows Terminal,然后是 PowerShell 和 cmd.exe。1open,Linux 用 xdg-open,PowerShell 用 Start-Process,cmd.exe 则要先传一个空窗口标题。1vscode://anthropic.claude-code/open。这个 handler 支持 prompt 预填文本,也支持用 session 恢复某个属于当前 workspace 的会话。2q 的上限是 5,000 字符,但这不代表应该把整份 runbook 都塞进 URL。长 prompt 会增加审阅成本,也更容易在聊天工具、文档渲染或手动复制时出问题。CLAUDE.md 或 Skill 中。官方也在 Learn more 里建议,可以把长 runbook prompt 存成 repo 里的 /skill,Deep Link 的 q 只需要点名调用它。1claude-cli://open?repo=YOUR_ORG/YOUR_REPO&q=Open%20CLAUDE.md%20and%20run%20the%20incident%20triage%20checklist%20for%20SERVICE_NAME.%20Summarize%20the%20first%203%20findings%20before%20editing%20files.YOUR_ORG/YOUR_REPO 和 SERVICE_NAME 换掉,再放到内部 runbook 或告警通知里。第一次使用前,让团队成员在对应 clone 里运行一次 claude,否则 repo 找不到本地路径。docs.anthropic.com
docs.anthropic.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.