实践

合上笔记本,Claude Code 照样工作

长时间运行的智能体任务和合上的笔记本盖子水火不容。可靠的解决办法有四种,选哪一种取决于你手上有没有一台能一直不休眠的机器。

简要回答

笔记本休眠时 Claude Code 就会停下,Remote Control 也只会在机器唤醒后重新连接。想在合盖时让工作继续,就得把会话放到一个不会休眠的地方:Anthropic 的云端会话(GitHub 仓库)、装了 tmux 或 Maude 这类会话守护进程的 VPS,或者一台常开的台式机,比如 Mac mini。

你交给 Claude Code 一个要跑四十分钟的任务,然后你得出门了。默认情况下,合上盖子工作就停了。绕开这个问题有四种可靠的办法,哪一种适合你只取决于一个问题:你有没有一台能一直不休眠的机器?

为什么会停

会话结束可能有三种不同的原因。值得分清楚,因为每种办法只能解决其中一部分:

  • 进程停了。机器休眠了,或者运行 claude 的 shell 退出了。笔记本一旦休眠,不管你用什么应用,什么都不会运行。
  • 连接断了。你没信号了,或者手机把应用挂起了。进程可能好好的,只是你看不到它。
  • 会话丢了。进程还活着,但没有任何东西知道怎么把你带回它面前,也没法告诉你它已经完成。

Anthropic 自家的 Remote Control 很好地说明了其中的区别。它的文档说,如果笔记本休眠或网络中断,Claude Code 会在机器恢复在线后重新连接。这解决的是连接问题。合盖期间它并不会让任何东西继续运行,因为“你的电脑必须保持开机,claude 进程也必须一直运行”。

方案 1:Anthropic 的云端会话

如果你没有一台能一直醒着的机器,那就把工作彻底搬离你自己的设备。云端会话在 Anthropic 托管的虚拟机里运行 Claude Code。合上笔记本后会话仍会继续,你可以在 Claude 应用、浏览器或终端里查看进度。它已于 2026 年 9 月 23 日结束研究预览,面向 Pro、Max 和 Team 套餐开放,Enterprise 中拥有 premium 或 Chat + Claude Code 席位的用户也可使用。

你可以在终端里启动一个,然后直接走开:

claude --cloud "Fix the flaky test in auth.spec.ts"

云端虚拟机会克隆你 GitHub 远程仓库的当前分支,所以要先推送。完成后,claude --teleport 会把会话及其分支拉回你的终端。依赖它之前需要了解这些(来自云端会话文档):

  • 克隆和拉取请求都需要 GitHub。
  • 会话访问不到你的私有网络或本地数据库。
  • 用量和你其他的 Claude 用量共享同一套额度。
  • 闲置的虚拟机过一段时间会被回收。重新打开能恢复对话,但不会恢复当时仍在运行的后台工作。

我们在 Maude 与网页版 Claude Code 对比中更详细地比较了这条路线。

方案 2:服务器 + tmux 或 systemd

经典的做法是在永不休眠的 VPS 上运行 Claude Code,并放在 tmux 里——由 tmux 持有进程,你的 SSH 连接就不必一直保持:

tmux new -s work
# start claude, then Ctrl-B then D to detach
tmux attach -t work

这三个问题它都能解决:进程跑在一台常开的机器上,连接断开不会影响它,tmux attach 又能把你带回它面前。每月只要几欧元,我们的 VPS 部署指南会一步步带你完成。

有两个进阶用法值得了解:

  • 在 tmux 里运行 Remote Control。在 tmux 会话中运行 claude remote-control,就能在 Claude 应用的 Code 标签页里操控它,还有推送通知,不必用终端。这样就把 Anthropic 的官方应用和一台永不休眠的机器结合了起来。
  • 用 systemd 应对重启。tmux 扛不住重启。systemd 服务(开启 lingering 的用户单元,这样无需登录也能启动)可以在开机时把长时间运行的进程拉起来。Claude Code 本身不会恢复被重启打断的那一轮。claude --continue 会重新打开该目录下最近的一次对话,你可以让它接着干。

在手机上,问题主要出在操作体验上。普通的 tmux 会话没法在工作完成时通知你,重新连接则意味着要面对全屏终端和软键盘。详见 编程智能体的 tmux、mosh 与 Tailscale。

方案 3:会话守护进程(Maude)

这是同一个思路,只是往上提了一层。服务器上一个常驻的小进程持有所有智能体会话,并记录其中发生的一切。客户端随时连接、断开,会话毫无察觉。和 tmux 相比:

  • 重新连接后看到的是对话本身,而不是一屏需要来回滚动的缓冲区。
  • 多台设备可以同时关注同一个会话。
  • 你不在的时候仍有东西在盯着,所以工作完成或需要你做决定时,你能收到推送通知。

Maude 就是这样工作的。添加服务器时,应用会通过 SSH 部署自己的守护进程,并注册为开机启动:Linux 上是 systemd 用户单元,macOS 上是 LaunchAgent,cron 的 @reboot 条目作为兜底。关闭应用或笔记本后,会话仍在服务器上继续运行。收件箱会显示哪些会话已完成、出错或需要你处理,推送通知让你不打开任何东西就能用“允许”或“拒绝”回应权限请求。和任何进程一样,重启时正在进行的那一轮会被打断,但对话会保留,你可以在应用里接着继续。

同一个守护进程也运行 Codex、OpenCode、Grok Build 和 Antigravity,所以无论你启动哪个智能体都适用。多智能体的版本我们在让编程智能体 24/7 运行中介绍。

方案 4:家里一台常开的机器

如果你已经有一台常开的台式机,比如 Mac mini、工作站或家用服务器,它就能零额外成本地充当服务器。在上面使用 Remote Control、tmux 或 Maude,和在 VPS 上完全一样。几点实际建议:

  • 别让它休眠。macOS 的“能耗”设置里有一个选项,可以在显示器关闭时阻止自动进入睡眠。caffeinate 能在命令行里让一台开着盖的 Mac 保持唤醒,但阻止不了 MacBook 合盖后休眠。
  • 合盖的 MacBook 只有在合盖模式下才会保持唤醒,这需要连接外接显示器并接通电源。放在桌上没问题,装进包里就不行了。
  • 从外面访问它。Remote Control 和 Maude 的中继都是向外连接的,所以机器不需要开放端口。如果用普通 SSH,Tailscale 是常见的接入方式。

如何选择

方式合上笔记本后仍在运行需要会通知你
云端会话是一个 GitHub 上的代码仓库是
VPS 上的 tmux是一台服务器否
VPS 上 tmux 里的 Remote Control是一台服务器、一个 Claude 套餐是
会话守护进程(Maude)是一台服务器和这个应用是
家里常开的机器是一台永不休眠的台式机取决于工具
笔记本本身上的 Remote Control否,笔记本唤醒后重新连接无需额外条件是
笔记本本身上的 tmux否无需额外条件否
关键问题

你有没有一台能一直醒着的机器?有的话,把会话放在上面,用 tmux、Remote Control 或守护进程。没有的话,工作就得搬到一个默认就醒着的地方:租一台便宜的 VPS,或者用 Anthropic 的云端会话。

无论哪种方式都有用的一点

没人盯着的任务,就应该写成不需要盯着的样子。说清楚在哪里停下、失败时怎么办、哪些东西不能碰。“修复 api/ 中失败的测试;如果某个修复需要改 schema,就停下来说明原因”比“修一下测试”靠谱得多。具体的指令能让一次四十分钟的无人值守运行不跑偏。还要事先决定它在不询问你的情况下能做多少事:安全地以完整权限运行 Claude Code 讨论了其中的取舍。

用手机运行

想让 Claude Code 在你自己的服务器上持续运行、并用手机查看进度,请看在手机上用 Claude Code。所有方案(包括免费的)请看在 iPhone 和 iPad 上运行 Claude Code 的所有方式。

常见问题

Mac 休眠时 Claude Code 还会继续运行吗?
不会。休眠的 Mac 什么都不运行,Claude Code 也不例外。Remote Control 会在 Mac 唤醒后重新连接,但中间不会有任何进展。想在合盖时继续工作,会话就必须放在不会休眠的地方:VPS、常开的台式机,或 Anthropic 的云端会话。
tmux 能挺过重启吗?
不能。tmux 能让会话熬过断线,但熬不过重启。重启后,claude --continue 会重新打开该目录下最近的一次对话。systemd 用户服务能在你无需登录的情况下把工具重新拉起来;会自行注册为开机启动的会话守护进程(比如 Maude 的守护进程)也能做到。
能在家里的 Mac mini 上运行 Claude Code 吗?
能,而且这正是它的好用途。关闭自动睡眠,然后像在 VPS 上一样使用 tmux、Remote Control 或会话守护进程。Remote Control 和 Maude 都是向外连接的,所以不需要在家用路由器上开放端口。
任务完成时能收到通知吗?
取决于你用哪条路线。Remote Control 在 /config 中开启后可以推送到 Claude 应用,云端会话也能在应用里查看状态。Maude 会在会话完成、出错或需要批准时推送通知,并带有“允许”和“拒绝”按钮。单纯的 tmux 会话完全无法通知你。

更新内容

  • — 重写:云端会话已结束研究预览;Remote Control 会在休眠后重新连接,但休眠期间不运行;在服务器的 tmux 中运行 Remote Control;用 systemd 和 --continue 应对重启;新增家里常开机器的方案。
  • — 首次发布。

合上盖子,会话照常进行

Maude 让会话在你的服务器上持续运行,完成时提醒你。支持 iOS、iPadOS 和 Android。

Download Maude on the App Store Get Maude on Google Play