如果你已经听说过 Claude Code 这个能直接改代码、跑命令、修 bug 的 AI 编程工具,那你可能会好奇:它只能待在终端里吗?答案是否定的。Anthropic 推出的 Claude Code Desktop 把同样的能力搬到了图形界面里,而且加了不少终端里做不到的东西。

这篇文章会从头到尾梳理 Claude Code Desktop 能做什么、怎么用,以及它和命令行版本有什么不同。

从终端到窗口:Desktop 版做了什么

Claude Code 原本是一个命令行工具,开发者可以在终端里跟它对话,让它读取项目文件、修改代码、运行测试。Desktop 版的出现,等于给这个引擎套上了一个图形外壳——在 Claude 桌面应用的“Code”标签页里,用户可以用熟悉的聊天界面来指挥 Claude 写代码。

更重要的是,Desktop 版额外加了一堆终端里没有的功能:可视化的 diff 审阅、实时应用预览、Mac 上的屏幕控制、GitHub PR 的自动修复和合并、并行会话自动隔离、手机端通过 Dispatch 下发任务、定时任务,以及各种第三方服务的连接器。

换句话说,Desktop 版不是简单地把终端功能搬了个家,而是补齐了图形界面特有的交互体验。

开始一次会话:先选好四个东西

在敲下第一条消息之前,用户需要先在输入框附近确认四个设置:

  • 环境:选择代码跑在哪里。可以是本机(Local),也可以是 Anthropic 托管的云端(Remote),或者通过 SSH 连到自己的远程机器。
  • 项目文件夹:告诉 Claude 要操作哪个目录或代码仓库。如果是远程会话,还能一次添加多个仓库。
  • 模型:从下拉菜单里挑一个模型,会话开始后就不能换了。
  • 权限模式:决定 Claude 有多少自主权。这个可以在会话过程中随时改。

选好之后,输入任务按回车,一个独立的会话就开始了。每个会话都有自己的上下文和修改记录,互不干扰。

跟 Claude 一起写代码

怎么发指令

在输入框里打字,按回车发送。Claude 会读取项目文件、做修改、跑命令——具体做到什么程度,取决于当前选的权限模式。用户随时可以打断 Claude:点一下停止按钮,或者直接输入纠正的话按回车,Claude 就会停下来按新指令调整。

输入框旁边有个 + 按钮,点开可以挂载文件附件、调用技能(skills)、连接外部服务,或者安装插件。

给 Claude 喂上下文

两种方式可以把外部信息塞给 Claude:

  • @ 提及文件:输入 @ 加上文件名,就把那个文件加到对话上下文里了(远程会话不支持这个)。
  • 附加文件:点附件按钮或者直接拖拽,可以上传图片、PDF 等文件。用来贴 bug 截图、设计稿或者参考文档都很方便。

四种权限模式,对应不同的信任程度

权限模式决定了 Claude 动手之前要不要问一声:

模式 行为
Ask permissions(默认) 改文件或跑命令之前都会弹窗询问,用户可以看到差异(diff)后选择接受或拒绝。推荐新用户使用。
Auto accept edits 改文件自动接受,但跑命令前仍然询问。适合信任文件改动、想加快迭代速度的场景。
Plan mode 只分析代码、制定计划,不修改文件也不跑命令。复杂任务先走一遍思路再动手。
Auto 实验性功能,后台做安全检查,减少询问次数。需要 Sonnet 4.6 或 Opus 4.6,Team/Enterprise/API 计划可用。
Bypass permissions 彻底跳过所有权限提示,相当于命令行的 --dangerously-skip-permissions。只能在沙盒或虚拟机里用,企业管理员可以禁用。

一个推荐的工作流是:复杂任务先用 Plan mode 让 Claude 出方案,审阅通过后切到 Auto accept edits 或 Ask permissions 执行。远程会话只支持 Auto accept edits 和 Plan mode。

实时预览应用

Claude 可以自己启动开发服务器,然后在内嵌浏览器里打开预览。不管是前端网页还是后端 API,Claude 改完代码后通常会自动启动服务。用户也可以随时主动要求预览。

预览面板里能干的事不少:

  • 直接在内嵌浏览器里操作正在运行的应用
  • 观察 Claude 自动验证自己的改动——它会截图、检查 DOM、点击元素、填表单,发现问题还会自己修
  • 从会话工具栏的预览下拉菜单里启停服务器
  • 勾选“Persist sessions”让 cookies 和本地存储在服务器重启后保留,开发时不用反复登录
  • 如果项目的启动命令比较特殊,可以编辑 .claude/launch.json 来定制

Diff 审阅:逐行看改动

Claude 改完代码后,界面上会显示一个类似 +12 -1 的统计标签,点开就能进 diff 查看器。左边是文件列表,右边是每个文件的具体改动。

用户可以在任意一行上点一下,弹出评论框写反馈,按回车添加评论。写完全部的评论后,按 Cmd+Enter(Mac)或 Ctrl+Enter(Windows)一次性提交。Claude 读到这些评论后会按意见修改,产生新的 diff 供再次审阅。

代码审阅按钮

在 diff 界面的右上角有个“Review code”按钮。点一下,Claude 会审视当前的所有改动,然后在 diff 视图里直接留下评论。它主要关注高价值的问题:编译错误、明确的逻辑漏洞、安全缺陷、明显的 bug。不会纠结代码风格、格式、已有的老问题或者 linter 能抓出来的东西。

监控 PR 状态

打开 Pull Request 之后,会话里会出现一个 CI 状态栏。Claude Code 用 GitHub CLI 去轮询检查结果,如果失败了:

  • 开启 Auto-fix 后,Claude 会读失败日志并尝试自动修复
  • 开启 Auto-merge 后,所有检查通过时 Claude 会用 squash 方式合并 PR(前提是 GitHub 仓库设置里也开了 auto-merge)

PR 监控需要本机装了 gh 并完成认证。没装的话桌面应用会提示安装。

让 Claude 直接操作电脑

这是 Desktop 版一个相当硬核的功能——Computer Use,目前只在 macOS 上提供,需要 Pro 或 Max 计划。开启后,Claude 可以打开应用、控制屏幕、像真人一样操作图形界面。比如让 Claude 在 iOS 模拟器里测原生应用、操作一个没有命令行的桌面工具,或者自动化某个只有 GUI 才能干的事。

Computer Use 默认关闭。要打开它:先去设置里找到开关,然后授予两个 macOS 系统权限——辅助功能(允许点击、打字、滚动)和屏幕录制(允许看到屏幕内容)。这两个权限缺一不可。

什么时候会用到 Computer Use

Claude 有多种方式跟外部世界交互,Computer Use 是范围最广、速度最慢的那个。它会按优先级选最精确的工具:

  • 如果某个服务已经有连接器(connector),就用连接器
  • 如果任务是 shell 命令,就用 Bash
  • 如果是浏览器操作而且配置了 Claude in Chrome,就用那个
  • 以上都不行,才动用 Computer Use

每个应用还有访问级别:浏览器只能“仅查看”,终端和 IDE 只能“仅点击”,其他应用才是“完全控制”。这套设计让 Claude 在有专用工具时优先走专用通道,只有遇到原生应用、硬件控制面板、iOS 模拟器、没有 API 的专有工具时,才用屏幕控制。

应用权限弹窗

Claude 第一次需要操作某个应用时,会话里会弹一个授权窗。用户可以选择“Allow for this session”或“Deny”。批准的有效期是当前会话(在 Dispatch 生成的会话里是 30 分钟)。

对于 Terminal、Finder、System Settings 这类能触及系统底层的应用,授权弹窗里会有额外的警告提示。用户可以在设置里把某些应用加入“拒绝列表”,以后就不弹窗了。还有一个选项叫“Unhide apps when Claude finishes”——Claude 干活时会隐藏其他窗口,只跟被授权的应用交互,干完后可以把隐藏的窗口恢复。

会话管理:并行、远程、从手机发起

并行会话与 Git 隔离

点侧边栏的“+ New session”就可以并行处理多个任务。对于 Git 仓库,每个会话会用自己的 Git worktree 获得一份隔离的项目副本——这意味着一个会话里改的文件不会影响到另一个,直到提交为止。

这些 worktree 默认存在 .claude/worktrees/ 下,可以在设置里改位置。用完后悬停在会话上点归档图标就能删掉 worktree。如果项目里有些被 gitignore 的文件(比如 .env)也需要复制到新 worktree,可以在项目根目录放一个 .worktreeinclude 文件。

会话隔离依赖 Git。Mac 通常自带,Windows 需要手动装 Git for Windows。

侧边栏顶部可以用过滤器按状态(活跃/归档)和环境(本地/云端)筛选会话。点击会话标题可以重命名或查看上下文用量。当上下文快满的时候,Claude 会自动总结对话并继续工作,用户也可以手动输入 /compact 提前触发压缩。

远程会话:关掉电脑也能跑

对于大规模重构、跑全套测试、数据迁移这类耗时任务,启动会话时选“Remote”而不是“Local”。远程会话跑在 Anthropic 的云基础设施上,即使关掉桌面应用甚至关机,它还在后台继续跑。用户可以随时回来查看进度或调整方向,也可以在 claude.ai/code 或 iOS 应用里监控。

远程会话还支持多个仓库:选好云环境后,点仓库标签旁的 + 按钮就能添加更多仓库,每个仓库有自己的分支选择器。适合那些需要同时改多个代码库的任务,比如更新一个共享库以及所有依赖它的项目。

从手机发起会话:Dispatch 集成

Cowork 标签页里的 Dispatch 是一个持久的对话。用户给 Dispatch 发一条任务,它自己决定怎么处理。任务可能以两种方式变成 Code 会话:一是用户明确说“开一个 Claude Code 会话修登录 bug”,二是 Dispatch 判断这个任务属于开发工作(修 bug、更新依赖、跑测试、开 PR 等),就自动生成一个 Code 会话。

生成的 Code 会话会在侧边栏显示一个 Dispatch 徽章,手机端会收到推送通知——完成或者需要批准时都会推。如果开启了 Computer Use,Dispatch 生成的 Code 会话也能用,但应用授权的有效期只有 30 分钟,不像普通 Code 会话那样持续整个会话。

Dispatch 需要 Pro 或 Max 计划,Team 和 Enterprise 不可用。

换到另一个环境继续

会话工具栏右下角有个 VS Code 图标,点开“Continue in”菜单,可以把当前会话挪到别的地方:

  • Claude Code on the Web:把本地会话变成远程会话继续跑。桌面应用会推送分支、生成对话摘要、创建带完整上下文的远程会话,然后用户可以选择归档本地会话或保留它。要求工作区干净,不支持 SSH 会话。
  • IDE:在受支持的 IDE 里打开当前项目目录。

扩展 Claude Code

连接外部工具

本地和 SSH 会话里,点输入框旁的 + 按钮,选“Connectors”可以添加 Google Calendar、Slack、GitHub、Linear、Notion 等集成。可以在会话开始前或进行中添加。连接后 Claude 能读日历、发消息、建 issue,直接跟这些工具交互。

Connectors 本质上是带图形化配置界面的 MCP 服务器。如果需要的服务不在列表里,也可以手动添加 MCP 服务器,或者自己写一个。

技能

技能(skills)扩展了 Claude 的能力。Claude 会在相关时自动加载技能,用户也可以主动调用:在输入框里敲 / 或者点 + 按钮选“Slash commands”,浏览可用的内置命令、自定义技能、项目技能和插件里的技能。选中一个后会高亮显示,在后面继续输入任务就行。

插件

插件是包含技能、代理、钩子、MCP 服务器和 LSP 配置的可复用包。本地和 SSH 会话里,点 + 选“Plugins”可以查看已安装的插件和它们的命令。选“Add plugin”打开插件浏览器,从已配置的市场(包括官方 Anthropic 市场)里安装。选“Manage plugins”可以启用、禁用或卸载。

插件可以作用域到用户账户、某个项目,或者仅限本地。远程会话不支持插件。

配置预览服务器

Claude 会自动探测开发服务器的配置,并存到项目根目录的 .claude/launch.json 里。预览功能把这个文件夹作为工作目录,所以如果启动会话时选的是父文件夹,子文件夹里的 dev server 不会被自动发现——要么直接在子文件夹开会话,要么手动配一下。

配置文件支持 JSON 带注释,例如:

{
  "version": "0.0.1",
  "configurations": [
    {
      "name": "my-app",
      "runtimeExecutable": "npm",
      "runtimeArgs": ["run", "dev"],
      "port": 3000
    }
  ]
}

autoVerify 默认打开,Claude 改完代码后会自动截图、检查错误、确认改动有效。可以关掉——在 launch.json 里加 "autoVerify": false,或者从预览下拉菜单里关。

配置项里还有 autoPort 控制端口冲突时的行为:true 时自动找空闲端口,false 时直接报错,不设置则询问用户。

定时任务

定时任务让 Claude 按设定的时间自动开启新会话。可以用来做每日代码审查、定期检查依赖更新、或者早上的简报(从日历和邮箱拉数据)。

两种定时任务

类型 运行位置 需要电脑开机 访问本地文件 权限弹窗
本地任务 本机 可配置
云端任务 Anthropic 云 否(每次全新克隆仓库) 无(完全自主)

本地任务要求桌面应用开着、电脑醒着。如果电脑在预定时间睡着了,那次运行会被跳过。可以在设置里开“Keep computer awake”防止空闲休眠,但合上盖子仍然会睡。

云端任务跑在 Anthropic 的基础设施上,电脑关机也不影响,但每次都是针对仓库的新鲜克隆,没有本地未提交的改动。

创建和配置

在侧边栏点“Schedule”->“New task”->“New local task”,填几个字段:名称、简短描述、Prompt(跟平时在输入框里写的消息一样)、频率(每小时/每天/工作日/每周/手动)。频率选择器里没有的间隔(比如每15分钟、每月1号),可以直接用自然语言跟 Claude 说:“安排一个任务每6小时跑一次全部测试”。

每个任务在预定时间后会有最多10分钟的随机偏移(但偏移是固定的,同一个任务每次偏移量一样),用于错开 API 流量高峰。

错过运行的处理

当应用启动或电脑从睡眠中醒来,Desktop 会检查过去7天内有没有错过的运行。如果有,它只会启动最近一次错过时间的 catch-up 运行,更早的直接丢弃。比如一个每日任务连续错过了6天,醒来后只跑一次。

写 prompt 时最好考虑到这种可能——比如在 prompt 里加一句:“只审查今天的提交。如果已经过了下午5点,就跳过审查,只贴一个总结说明错过了什么。”

权限处理

每个定时任务有自己的权限模式。如果任务跑在 Ask 模式下需要某个工具的权限,任务会卡住,等用户在侧边栏打开那个会话手动批准。为了避免卡住,建议创建任务后先点“Run now”跑一遍,遇到权限弹窗时勾选“always allow”,后续自动运行就不会再问了。这些批准记录可以在任务的详情页查看和撤销。

管理任务

在 Schedule 列表里点一个任务进详情页,可以:立即运行、暂停/恢复重复、编辑设置、查看历史运行记录(包括因电脑睡眠而跳过的)、管理已保存的权限、删除任务。也可以用自然语言在会话里操作,比如说“暂停我的 dependency-audit 任务”。

任务配置存在 ~/.claude/scheduled-tasks/<task-name>/SKILL.md,手动改这个文件会在下次运行时生效。但调度时间、文件夹、模型、启用状态不在这里改,需要通过编辑表单或者告诉 Claude 来改。

环境配置

启动会话时选的环境决定了代码在哪执行:

  • Local:本机,直接访问本地文件,环境变量从 shell 继承。需要额外变量就在 ~/.zshrc~/.bashrc 里设置,然后重启桌面应用。
  • Remote:Anthropic 云端,会话持续运行。可以创建自定义云环境,配置不同的网络访问级别和环境变量。
  • SSH:通过 SSH 连到远程机器(自己的服务器、云 VM、dev container)。填好名称、主机、端口、私钥文件路径后,该连接会出现在环境下拉菜单里。远程机器上需要预先安装 Claude Code。

企业配置

Teams 和 Enterprise 计划的管理员可以通过后台控制台、托管设置文件和 MDM 策略来管控桌面应用行为。

后台控制台可以控制:

  • 是否允许组织中的人在桌面应用里用 Claude Code
  • 是否允许 web 会话
  • 是否允许 Remote Control
  • 是否禁用 Bypass permissions 模式

托管设置

可以推送一些配置键,覆盖用户和项目设置。例如 permissions.disableBypassPermissionsMode 设为 "disable" 能彻底关掉绕过权限的模式,disableAutoMode 能从模式选择器里移除 Auto 模式。autoMode 可以定制分类器信任和阻止的内容范围,但这个配置只从托管设置、用户设置和本地设置里读取,不会从检入仓库的 .claude/settings.json 读——防止一个克隆下来的仓库塞进自己的分类规则。

MDM 和组策略

  • macOS:通过 com.anthropic.Claude 域,用 Jamf 或 Kandji 管理
  • Windows:通过注册表 SOFTWARE\Policies\Claude 配置

认证与数据

企业可以要求所有用户使用 SSO(SAML/OIDC)。Claude Code 处理代码的方式:本地会话在本地处理,远程会话在 Anthropic 云上处理,对话和代码上下文会发送给 Anthropic API。具体的数据保留、隐私、合规细节可以参考官方数据说明。

跟 CLI 版对比

Claude Code 命令行工具和桌面版共用同一个底层引擎,甚至可以在同一台机器、同一个项目上同时跑,互不干扰。它们共享配置文件(CLAUDE.md、MCP 服务器配置、钩子、技能)和项目记忆,但会话历史各自独立。

什么时候用桌面版,什么时候用命令行

  • 桌面版:想要可视化的 diff 审阅、文件附件、侧边栏管理多个会话、预览应用、定时任务、Computer Use。
  • 命令行:需要脚本化、自动化、用第三方提供商(Bedrock、Vertex、Foundry)、或者就是习惯终端工作流。

把 CLI 会话挪到桌面版

在终端里运行 /desktop,Claude 会保存当前会话并在桌面应用里打开它,然后退出 CLI。这个命令只在 macOS 和 Windows 上可用。

功能对比简表

功能 CLI Desktop
权限模式 全包括 dontAsk Ask, Auto accept edits, Plan, Auto, Bypass(需设置开启)
--dangerously-skip-permissions 支持 Bypass permissions 模式
第三方提供商 Bedrock, Vertex, Foundry 不支持(直连 Anthropic API)
MCP 服务器 配置文件 Connectors UI 或配置文件
插件 /plugin 命令 插件管理器 UI
@ 提及文件 文本式 带自动补全(仅本地/SSH)
文件附件 不支持 图片、PDF
会话隔离 --worktree 标志 自动 worktree
并行会话 开多个终端 侧边栏标签页
定时任务 cron、CI 流水线 内置 Scheduled tasks
Computer Use 需通过 /mcp 配置 macOS 上直接开关
Dispatch 集成 不支持 侧边栏显示 Dispatch 会话
脚本和自动化 --print、Agent SDK 不支持

桌面版没有的功能

  • 第三方模型提供商(只能连 Anthropic)
  • Linux 版桌面应用(仅 macOS 和 Windows)
  • 行内代码建议(桌面版是对话式,不是自动补全风格)
  • Agent teams(多智能体编排只在 CLI 和 Agent SDK 里)

常见问题与排查

检查版本

Mac:菜单栏 Claude -> About Claude;Windows:Help -> About。点版本号可以复制。

403 或认证错误

最常见解决办法:从应用菜单里退出登录再重新登录。确认订阅是 Pro、Max、Teams 或 Enterprise。如果 CLI 能用但桌面版不行,完全退出应用(不只是关窗口)再打开重新登录。

启动后空白或卡住

重启应用,检查是否有挂起的更新(应用启动时会自动更新)。Windows 可以去事件查看器 -> Windows 日志 -> 应用程序 里看崩溃日志。

“Failed to load session”

选中的文件夹可能已经不存在、仓库需要 Git LFS 但没装、或者文件权限问题。换个文件夹或重启应用。

找不到已安装的工具(npm、node 等)

确认这些工具在普通终端里能跑,检查 shell profile 是否正确设置了 PATH,重启桌面应用让环境变量重新加载。

Git 和 Git LFS 错误

Windows 上需要装 Git for Windows。如果提示需要 Git LFS,从 git-lfs.com 安装,运行 git lfs install,重启应用。

Windows 上 MCP 服务器不工作

检查配置是否正确,重启应用,在任务管理器里看服务器进程是否在跑,看服务器日志。

应用无法退出

Mac:Cmd+Q,如果没反应用 Cmd+Option+Esc 强制退出。Windows:Ctrl+Shift+Esc 开任务管理器结束进程。

Windows 特定问题

  • PATH 没更新:开个新终端窗口
  • 安装时提示有另一个安装正在进行但没有:用管理员权限运行安装程序
  • ARM64 Windows 设备完全支持

Intel Mac 上 Cowork 标签不可用

Cowork 标签需要 Apple Silicon(M1 或更新)。Windows 上所有硬件都支持。Chat 和 Code 标签在 Intel Mac 上正常。

“Branch doesn’t exist yet” 在 CLI 里打开时

远程会话创建的分支在本地可能不存在。点会话工具栏里的分支名复制,然后本地 fetch:git fetch origin <branch-name>,再 git checkout <branch-name>

还卡住了?

可以去 GitHub Issues 搜或提 bug,也可以去 Claude 支持中心。报 bug 时最好带上:桌面应用版本、操作系统、完整的错误信息、相关日志(Mac 看 Console.app,Windows 看事件查看器)。


Claude Code Desktop 把一个原本藏在终端里的 AI 编程助手,变成了一款图形界面下可视、可控、可扩展的开发工具。从并行的隔离会话到手机端触发的远程任务,从自动 diff 审阅到 macOS 上的屏幕控制,它给不同需求和使用习惯的开发者提供了多种进入方式。而它和命令行版本共享同一套配置、同一套记忆,也意味着用户可以随时在两种界面之间切换,不用重复搭建环境。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐