用 caffeinate 让 Claude Code 和 Codex 在 Mac 上持续运行
macOS 自带了一个小巧的命令 caffeinate,可以在执行耗时较长的终端任务期间让 Mac 保持唤醒状态。当你通过公司 VPN 使用 Claude Code 和 Codex 时,这个命令特别有用——因为一旦 Mac 进入休眠,VPN 连接就可能断开,任务也会被中断。

Narendra Vardi

AI 编程工具正在成为我日常终端工作流的一部分。
当我想要探索代码库、请求重构、运行测试,或者让一个 AI 智能体帮你完成某项任务时,像 Claude Code 和 Codex 这样的工具就非常有用。但有一个很无聊的问题会打断这种工作流:
Mac 会进入休眠。
当我在公司 VPN 环境下时,这个问题就更让人头疼。稍微耗时较长的任务需要网络连接一直保持。如果笔记本休眠了,VPN 就可能断开连接,任务可能会暂停、失败,或者需要你手动重新干预。
之前我写过一篇关于 No Sleep Page 的文章,它是一个简单的网页,可以阻止笔记本休眠。如果你想要一个基于浏览器的解决方案,它很好用。
但 No Sleep Page 有一个缺点:它需要浏览器标签页保持在最前面。页面本身也说:
只有这个标签页保持在最前面时才能让电脑保持唤醒。
不过,如果你已经在终端里工作了,macOS 提供了一个更简洁的选项。
它就是 caffeinate。
什么是 caffeinate?
caffeinate 是一个 macOS 命令行工具,可以防止你的 Mac 进入休眠。
它已经内置于 macOS 中,所以不需要额外安装任何东西。
针对这个使用场景,你只需要用到几个选项:
-i:阻止空闲休眠。这是我最常用来配合终端命令的选项。-d:阻止显示器休眠。-t <seconds>:让 Mac 保持唤醒指定的秒数。-w <pid>:保持 Mac 唤醒直到某个特定进程退出。
你可以组合这些选项。例如,-di 表示保持显示器唤醒并阻止空闲休眠。