Appearance
Desktop 定时任务
Claude Code Desktop 应用的本地定时任务运行在你的机器上,可直接访问本地文件和工具,但需要 Desktop 应用保持开启。配置字段包括名称、描述、提示语、频率(手动/每小时/每天/工作日/每周)。每个任务有独立的权限模式,错过运行时 Desktop 会在重新唤醒后补跑一次最新的。和云端 Routines 的核心区别:Routines 关机也能跑,本地任务要求机器常开。
Desktop 定时任务是创建在 Claude Code Desktop 应用中的本地任务,按设定的时间和频率自动启动新会话。适合日常代码审查、依赖更新检查或早晨信息汇总等重复性工作。
三种调度方式对比
| 云端 Routines | Desktop 本地任务 | /loop | |
|---|---|---|---|
| 运行在 | Anthropic 云端 | 你的机器 | 你的机器 |
| 需要机器开机 | 否 | 是 | 是 |
| 需要打开会话 | 否 | 否 | 是 |
| 跨重启持久化 | 是 | 是 | 否(会话范围) |
| 访问本地文件 | 否(全新克隆) | 是 | 是 |
| MCP 服务器 | 每任务配置 connectors | 配置文件 + connectors | 继承自会话 |
| 权限提示 | 否(完全自主运行) | 每任务可配置 | 继承自会话 |
| 最小间隔 | 1 小时 | 1 分钟 | 1 分钟 |
Schedule 页面支持两类任务:
- 本地任务:运行在你的机器上,可直接访问本地文件,但 Desktop 应用必须开启且电脑不能休眠
- 远程任务:运行在 Anthropic 托管的云端基础设施,电脑关机也能运行,但使用仓库的全新克隆
两类任务显示在同一个任务列表中。点击 New task 选择创建哪种。本页介绍本地任务;远程任务参见 Routines。
创建定时任务
点击 Desktop 侧边栏的 Schedule → New task → New local task,配置以下字段:
| 字段 | 说明 |
|---|---|
| Name | 任务标识符,转为小写 kebab-case 并用作磁盘上的文件夹名,须在所有任务中唯一 |
| Description | 显示在任务列表中的简短说明 |
| Prompt | 任务运行时发给 Claude 的指令。可在提示语输入控件中设置模型、权限模式、工作目录和 worktree |
| Frequency | 运行频率,见频率选项 |
也可以在任意会话中直接描述需求来创建任务,例如:"set up a daily code review that runs every morning at 9am"。
频率选项
从频率下拉菜单选择预设,或直接用自然语言告诉 Claude:
- Manual:不设定时,只能点击 Run now 手动触发。适合保存按需触发的提示语
- Hourly:每小时运行。每个任务有固定偏移量(最多 10 分钟),错开 API 流量
- Daily:显示时间选择器,默认本地时间上午 9:00
- Weekdays:与 Daily 相同,但跳过周六和周日
- Weekly:显示时间选择器和星期选择器
不在选择器中的间隔(如每 15 分钟、每月一号等)可在任意 Desktop 会话中用自然语言设置,例如:"schedule a task to run all the tests every 6 hours"。
定时任务的运行机制
Desktop 应用开启时每分钟检查一次定时计划,任务到期时启动独立的新会话(不影响手动打开的会话)。每个任务有固定延迟(最多 10 分钟),延迟是确定性的,同一任务每次偏移相同。
任务触发时,你会收到桌面通知,新会话显示在侧边栏的 Scheduled 区域下。打开后可以查看 Claude 所做的操作、审阅变更,或响应权限提示。
限制:只在 Desktop 应用运行且电脑处于唤醒状态时执行。电脑休眠期间会跳过预定时间的运行。要防止空闲休眠,在 Settings > Desktop app > General 中启用 Keep computer awake。注意合上笔记本盖仍会触发休眠。需要关机也能运行的任务,使用 Routines。
错过运行的补跑
当应用启动或电脑唤醒时,Desktop 检查每个任务在过去七天内是否有错过的运行。如果有,Desktop 为最近错过的时间启动一次补跑,丢弃更早的运行记录。每日任务错过了 6 天就只补跑一次。有补跑时 Desktop 显示通知。
注意:写提示语时考虑补跑场景。定时 9am 的任务可能在 11pm 才运行(如果电脑整天都在休眠)。如果时机重要,在提示语本身加防护条件,例如:"Only review today's commits. If it's after 5pm, skip the review and just post a summary of what was missed."
定时任务的权限
每个任务有独立的权限模式,创建或编辑时设置。~/.claude/settings.json 中的 allow 规则同样适用于定时任务会话。
任务以 Ask 模式运行时,如果需要执行没有权限的工具,运行会停滞直到你批准。会话保留在侧边栏,可以稍后回来处理。
避免停滞的技巧:创建任务后立即点击 Run now,观察是否有权限提示,对每一个选择"always allow"。后续运行同类工具时自动批准,无需再次提示。可在任务详情页审阅和撤销这些批准。
管理定时任务
在 Schedule 列表中点击任务进入详情页:
- Run now:立即启动,不等下次预定时间
- 暂停/恢复定时:保留配置但暂停运行
- 编辑:修改提示语、频率、工作目录或其他设置
- 查看历史:查看每次历史运行,包括因电脑休眠跳过的
- 审阅允许的权限:在 Always allowed 面板查看和撤销保存的工具批准
- 删除:移除任务并归档其创建的所有会话
也可以在任意 Desktop 会话中管理任务,例如:"pause my dependency-audit task"、"delete the standup-prep task"。
直接编辑提示语文件:打开 ~/.claude/scheduled-tasks/<task-name>/SKILL.md(如果设置了 CLAUDE_CONFIG_DIR 则在对应目录下)。文件使用 YAML frontmatter 存放 name 和 description,提示语作为正文,改动在下次运行时生效。频率、工作目录、模型和启用状态不在此文件中,通过编辑表单或告诉 Claude 修改。
相关文档
- Routines:在 Anthropic 云端基础设施上运行,支持定时、API 调用和 GitHub 事件触发,电脑关机也照常执行
- 定时任务(/loop):在打开的 CLI 会话中用
/loop进行会话范围的调度 - Claude Code GitHub Actions:在 CI 中按定时计划运行 Claude,而不是在本机
- Desktop 桌面版:完整的 Desktop 应用指南
常见问题
Q: 本地定时任务和 Routines 各适合什么场景?
A: 需要访问本地文件、本地工具(如本地 MCP 服务器)的任务选本地定时任务;需要关机也能运行、或要用 API 触发和 GitHub 事件触发的选 Routines。本地任务要求 Desktop 开启,Routines 则完全托管在云端。
Q: 任务停滞在权限提示怎么处理?
A: 打开侧边栏中对应的任务会话,手动批准提示。选"always allow"可以避免同类提示以后再次出现。也可以在任务详情页的 Always allowed 面板预先管理已批准的权限。
Q: 如何防止电脑休眠导致任务漏跑?
A: 在 Desktop Settings > Desktop app > General 启用 Keep computer awake 可以防止空闲休眠。但合上笔记本盖仍会休眠。如果任务需要在机器关闭时也能执行,考虑改用云端 Routines。