Skip to content

Desktop 定时任务

Claude Code Desktop 应用的本地定时任务运行在你的机器上,可直接访问本地文件和工具,但需要 Desktop 应用保持开启。配置字段包括名称、描述、提示语、频率(手动/每小时/每天/工作日/每周)。每个任务有独立的权限模式,错过运行时 Desktop 会在重新唤醒后补跑一次最新的。和云端 Routines 的核心区别:Routines 关机也能跑,本地任务要求机器常开。

Desktop 定时任务是创建在 Claude Code Desktop 应用中的本地任务,按设定的时间和频率自动启动新会话。适合日常代码审查、依赖更新检查或早晨信息汇总等重复性工作。

三种调度方式对比

云端 RoutinesDesktop 本地任务/loop
运行在Anthropic 云端你的机器你的机器
需要机器开机
需要打开会话
跨重启持久化否(会话范围)
访问本地文件否(全新克隆)
MCP 服务器每任务配置 connectors配置文件 + connectors继承自会话
权限提示否(完全自主运行)每任务可配置继承自会话
最小间隔1 小时1 分钟1 分钟

Schedule 页面支持两类任务:

  • 本地任务:运行在你的机器上,可直接访问本地文件,但 Desktop 应用必须开启且电脑不能休眠
  • 远程任务:运行在 Anthropic 托管的云端基础设施,电脑关机也能运行,但使用仓库的全新克隆

两类任务显示在同一个任务列表中。点击 New task 选择创建哪种。本页介绍本地任务;远程任务参见 Routines


创建定时任务

点击 Desktop 侧边栏的 ScheduleNew taskNew 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 存放 namedescription,提示语作为正文,改动在下次运行时生效。频率、工作目录、模型和启用状态不在此文件中,通过编辑表单或告诉 Claude 修改。


相关文档


常见问题

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