Claude Code 技巧总结,由 Claude Code 的创建者 Boris Cherny (@bcherny) 于 2026 年 3 月 30 日发布。
| ← 返回 Claude Code 最佳实践 |
Boris 分享了他最喜欢的一些 Claude Code 隐藏和未被充分利用的功能,重点介绍他使用最多的那些。
你知道 Claude Code 有移动应用吗?Boris 经常从 iOS 应用写代码 —— 这是无需打开笔记本电脑即可进行更改的便捷方式。
- 下载 Claude iOS/Android 应用
- 点击左侧的 Code 标签
- 你可以直接在手机上审阅更改、批准 PR 和编写代码
运行 claude --teleport 或 /teleport 在你的机器上继续云端会话。或运行 /remote-control 从手机/网页控制本地运行的会话。
- Teleport:将云端会话拉取到本地终端
- Remote Control:让你从任何设备控制本地会话
- Boris 在
/config中设置了**"为所有会话启用远程控制"**
使用这些功能安排 Claude 在设定的时间间隔自动运行,最长可达一周。Boris 本地运行着很多循环:
/loop 5m /babysit— 自动处理代码审查、自动变基,将 PR 推送到生产环境/loop 30m /slack-feedback— 每 30 分钟自动为 Slack 反馈创建 PR/loop /post-merge-sweeper— 为他遗漏的代码审查评论创建 PR/loop 1h /pr-pruner— 关闭过时和不再需要的 PR- ……还有更多!
尝试将工作流变成技能 + 循环。功能很强大。
使用钩子作为代理生命周期的一部分运行逻辑。例如:
- 每次启动 Claude 时动态加载上下文(
SessionStart) - 记录模型运行的每个 bash 命令(
PreToolUse) - 将权限提示路由到 WhatsApp 供你批准/拒绝(
PermissionRequest) - 推动 Claude 在它停止时继续(
Stop)
Boris 每天使用 Dispatch 来跟进 Slack 和邮件、管理文件,以及在没有电脑时在笔记本电脑上做事。当他不编码时,他在调度。
- Dispatch 是 Claude Desktop 应用的安全远程控制
- 它可以在你的许可下使用你的 MCP、浏览器和电脑
- 把它看作是从任何地方将非编码任务委托给 Claude 的方式
使用 Claude Code 最重要的技巧:给 Claude 一个验证输出的方式。 一旦你这样做了,Claude 会迭代直到结果很棒。
- 想象一下让某人建网站但不允许他们用浏览器 —— 结果可能不好看
- 给 Claude 一个浏览器,它会编写代码并迭代直到看起来不错
- Boris 每次做网页代码时都使用 Chrome 扩展 —— 它比其他类似的 MCP 更可靠
同样地,Desktop 应用捆绑了 Claude 自动运行你的 web 服务器甚至在内置浏览器中测试它的能力。
- 你可以在 CLI 或 VSCode 中使用 Chrome 扩展设置类似的东西
- 或者直接使用 Desktop 应用获得集成体验
人们经常问如何分叉现有会话。两种方式:
- 从会话运行
/branch - 从 CLI 运行
claude --resume <session-id> --fork-session
/branch 创建分支对话 —— 你现在在分支中。要恢复原始会话,使用 claude -r <original-session-id>。
Boris 经常用这个在代理工作时回答快速问题。/btw 让你在代理当前任务的同时提出旁路问题。
示例:
/btw dachshund 怎么拼?
> dachshund — 德语"獾狗"(dachs + 獾,hund + 狗)。
↑/↓ 滚动 · 空格、回车或 Esc 关闭
Claude Code 内置对 git 工作树的深度支持。工作树对于在同一仓库中进行大量并行工作至关重要。Boris 同时运行着几十个 Claude,他就是这么做的。
- 使用
claude -w在工作树中启动新会话 - 或在 Claude Desktop 应用中勾选 "工作树"复选框
- 对于非 git 版本控制用户,使用
WorktreeCreate钩子添加自己的工作树创建逻辑
/batch 先询问你,然后让 Claude 将工作分发给尽可能多的工作树代理(几十个、几百个,甚至几千个)来完成。
- 用于大型代码迁移和其他可并行化的工作
- 每个工作树代理在自己的代码库副本上独立工作
默认情况下,当你运行 claude -p(或 TypeScript 或 Python SDK)时,Claude 会搜索本地 CLAUDE.md、设置和 MCP。但对于非交互式使用,大多数时候你想通过 --system-prompt、--mcp-config、--settings 等显式指定加载什么。
- 这是 SDK 最初构建时的设计疏忽
- 在未来版本中,他们会将默认改为
--bare - 现在,使用这个标志选择加入,获得快 10 倍的启动速度
claude -p "总结这个代码库" \
--output-format=stream-json \
--verbose \
--bare跨多个仓库工作时,Boris 通常在一个仓库启动 Claude,然后使用 --add-dir(或 /add-dir)让 Claude 看到另一个仓库。
- 这不仅告诉 Claude 仓库的信息,还给它在该仓库工作的权限
- 或者,添加
"additionalDirectories"到你团队的settings.json,启动 Claude Code 时始终加载额外的文件夹
自定义代理是一个强大的原语,经常被忽视。使用它,只需在 .claude/agents/ 中定义新代理,然后运行:
claude --agent=<你的代理名称>- 代理可以有受限工具、自定义描述和特定模型
- 它们非常适合创建只读代理、专门的审查代理或领域特定工具
有趣的事实:Boris 主要通过说话而不是打字与 Claude 交流来编码。
- 在 CLI 中运行
/voice然后按住空格键说话 - 在 Desktop 上按语音按钮
- 或在 iOS 设置中启用听写















