tmux 配置指南:用 Claude Code 多开任务、远程重连
这份 tmux 配置指南带你在远程主机上运行 Claude Code,为独立任务分配 Git worktree 和命名会话,合上笔记本后再通过 SSH 接回原会话。文中涵盖官方配置、常用切换命令、分屏智能体团队与排障要点,并说明会话保活、对话恢复和文件隔离各自解决什么问题,帮助你搭好可持续使用的远程开发工作流。
发布于

用这套 tmux 配置在持续开机的远程主机上运行 Claude Code,合上笔记本后,再通过 SSH 连回来,就能接着处理仍在运行的任务。每个独立任务都配一个 Git worktree 和一个有明确名称的 tmux 会话,让功能开发与故障修复各用各的文件。先把这套工作流跑通;等任务之间确实需要沟通协作时,再加入智能体团队。
能否持续运行,关键在于实际执行任务的那台机器。tmux 可以让终端会话在连接断开后继续存在,但无法让休眠中的笔记本继续计算,也无法让关机的服务器继续运行,更不会重启已经崩溃的 Claude 进程。对于需要在 SSH 断连后继续运行的远程 Claude 会话,Anthropic 明确建议使用 tmux 或 screen。参见 Anthropic Remote Control 文档。
先按官方说明完成 tmux 配置
配置文件要放在运行 Claude Code 的机器上。远程开发时,要修改的是远程主机的 ~/.tmux.conf。如果尚未安装 tmux,先用那台主机的包管理器安装,再在主机上执行 tmux -V 和 claude --version,确认后继续。
将下面这段配置合并到 ~/.tmux.conf 中。前三行来自 Anthropic 官方文档;被注释掉的鼠标设置只是可选偏好,并非 Anthropic 的要求。
set -g allow-passthrough on
set -s extended-keys on
set -as terminal-features 'xterm*:extkeys'
# Optional preference: enable mouse interaction in tmux.
# set -g mouse on透传让通知和进度更新能够传到外层终端;扩展按键支持则让 tmux 能区分 Shift+Enter 与 Enter。对于已经运行的 tmux 服务,用 tmux source-file ~/.tmux.conf 加载配置;新启动的服务会在启动时读取文件。参见 Anthropic 终端配置文档。
如果 tmux 服务还没启动,先按下文创建第一个会话,再执行重新加载命令。初次配置先不加第三方插件:这套工作流不依赖任何插件。
每个 worktree 配一个专属的命名会话
Git worktree 是同一仓库的另一份检出目录,有自己的文件和分支,共享仓库历史。tmux 会话是一组有名称的终端窗口,窗格则是窗口内划分出来的区域。可以把 worktree 理解为工作台,把 tmux 理解为随时可以离开、再回来的房间。参见 Anthropic worktree 指南。
让会话名与检出目录采用对应的命名方式,一看名称就知道自己将进入哪份代码。下面是建议的组织方式,并非 Claude Code 的默认设置:
下面的首次配置示例假定 ~/src/project 已有一个仓库,仓库中至少有一次提交,示例中的分支名、目录名和会话名也都尚未使用。请替换 dev@devbox 和项目路径。从笔记本上普通的 shell 开始执行,不要在 tmux 内运行。worktree 命令遵循 Anthropic 的手动操作流程;命名会话的组织方式则是本文提供的方案。
ssh dev@devbox
cd ~/src/project
git worktree add ../project-feature-a -b feature-a
git worktree add ../project-bugfix -b bugfix
tmux new-session -d -s cc-feature-a -n claude -c "$HOME/src/project-feature-a"
tmux new-session -d -s cc-bugfix -n claude -c "$HOME/src/project-bugfix"
tmux attach-session -t cc-feature-a
# Now inside the feature worktree's tmux shell:
claudeSSH 连接成功后,余下的命令都在远程主机上执行。两个后台会话最初都只运行着 shell。接入其中一个会话后执行 claude,就能在眼前启动编程会话,并完成通常的初始设置提示。需要启动第二个任务时,先分离当前会话,再接入 cc-bugfix,在里面运行 claude。
每个 worktree 都需要单独完成项目初始化,包括安装依赖和准备必需的本地配置。让 Claude 修改代码前,先核对当前目录和分支。参见 Anthropic 手动管理 worktree 的流程。
如果想在功能分支的检出目录里另开一个测试 shell,可在主机的 shell 中运行 tmux new-window -t cc-feature-a -n checks -c "$HOME/src/project-feature-a"。把检查命令放在所属任务的会话里,不要让两个智能体共用主检出目录作为临时工作区。
如果你也使用 Codex,可以另看 Codex CLI worktree 指南,其中介绍了该工具的工作流。

分离会话、合上笔记本,再通过 SSH 连回来
使用 tmux 默认前缀键时,先按 Ctrl+B,松开两个键,再按 D。这样会分离当前客户端,回到远程 shell。此时可以断开 SSH,让 Claude 继续在会话内运行。
回来后,依次运行 ssh dev@devbox、tmux list-sessions 和 tmux attach-session -t cc-feature-a。要连接同一台远程主机,并使用同一个用户账号。也可以从笔记本上用一条等效命令完成连接:ssh -t dev@devbox 'tmux attach-session -t cc-feature-a'。
这些按键操作以默认前缀为前提。如果改过前缀键,就使用自己的设置。在 tmux 内应切换会话,不要再嵌套启动一个 tmux 客户端。
重新接入会话,连接的是已有的终端进程。如果进程已经退出,就需要恢复对话,这是另一回事:claude --continue 会继续当前目录中最近的一次对话,claude --resume 则会打开对话选择器。这两个命令都不能代替让原进程持续运行。参见 Anthropic 会话工作流。
如果希望通过手机或浏览器访问,可以看 Claude Code Remote Control。任务仍在主机上执行,因此主机必须保持开机。参见 Anthropic Remote Control 文档。
任务需要协作时,再启用智能体团队
智能体团队仍是实验性功能,默认关闭。在 tmux 的 shell 中运行 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude --teammate-mode tmux,即可启动一个新的交互式团队主会话。这次启动会通过环境变量启用团队功能,并用命令行参数选择分屏显示。参见 Anthropic 智能体团队配置说明。
目前默认显示模式是 in-process。auto 会在 tmux 内使用分屏,并在需要时回退;tmux 则通过终端检测选择分屏模式。如需持久保存偏好,可在 ~/.claude/settings.json 中设置 teammateMode。分屏会让每个队友拥有独立、可见的终端。Anthropic 列出的不支持该模式的终端包括 VS Code 集成终端、Windows Terminal 和 Ghostty。参见 Anthropic 显示模式与限制说明。
第一次试用时,我会给团队负责人一个范围明确的任务:
创建一个智能体团队,调查 checkout 超时问题。将一名队友命名为 Requests,另一名命名为 Storage。Requests 负责追踪重试行为,Storage 负责检查事务边界。让他们对照各自找到的证据。不要修改文件,返回修复建议和测试计划。
手动启动的 cc-feature-a 和 cc-bugfix 会话,不会因为都在 tmux 中就自动成为队友。是否使用团队,需要单独考虑:由谁分派任务,又由谁汇总、核对调查结果。如果只想在一个会话中委派范围明确的任务,优先考虑 Claude Code 子智能体。

窗格不等于独立的代码检出目录。要让多个任务独立修改代码,应分配不同文件,或使用各自的 worktree。团队也会消耗更多 token,tmux 并不会降低这部分用量。重新接入会话可以继续访问仍在运行的终端,而 /resume 不会恢复进程内的队友。参见 Anthropic 团队使用指南。
这套工作流适合哪五种场景?
我会按下面的顺序优先考虑这些用法。它们是可选工作流,不是经过实测的效率结论。
增加自动化之前,先量一量中断带来的成本。举个例子:每周中断五次,每次花四分钟重新找回上下文,就会耗掉二十分钟。这些是假设输入,不是基准测试结果。记录自己的恢复时间、配置时间和审查时间;只有总耗时下降,这套工作流才值得保留。同时运行更多智能体,并不自动意味着更划算。
围绕这套工作流,可以做哪两个小工具?
更值得考虑的方向,是面向开发团队的 worktree 与会话启动器。 平台团队可能愿意付费,让开发者统一使用一致的任务名、检出路径和接入命令。最小可用版本可以创建或找到 worktree,打开对应的命名 tmux 会话,并在启动 Claude 前显示分支和路径。清理检出目录之前,应先征得用户确认。
2026 年 10 月 12 日获取的 DataForSEO 美国关键词估算显示,“tmux claude code”每月有 480 次搜索。 这只能说明一个小范围的配置需求,不能当作潜在买家数量。难点在于,一段简短的内部脚本可能就够用了;要做成付费产品,就需要提供适合团队的配置或支持,持续省下重复劳动。
另一个更小众的产品方向,是远程会话目录。 小型工程团队可以在一个地方记录已获准使用的主机别名、会话名和检出路径,并提供可复制的 SSH 接入命令。先解决查找和跳转,只有用户确实需要时,再添加生命周期管理功能。
同一次 DataForSEO 查询估算,“claude code remote”在美国每月有 1,600 次搜索,“claude code remote ssh”有 70 次。 前一个更宽泛的词也包括寻找其他远程界面的人,单凭它无法验证 SSH 产品的需求。另一个难点是访问管理:这个目录必须遵守每位开发者现有的主机权限。动手做仪表盘之前,先访谈以远程协作为主的团队。
实际使用时常见的问题
合上笔记本后,Claude 还会继续工作吗?
会,前提是 Claude 和 tmux 都运行在保持唤醒、保持联网的远程主机上。如果它们运行在进入休眠的笔记本上,工作也会随之暂停。终端还在运行也不代表任务一定在推进:Claude 仍可能正在等待你的输入。
为什么在 tmux 里按 Shift+Enter 还是会提交?
确认你修改并重新加载配置的,是实际运行 tmux 的那台主机。如果需要执行 /terminal-setup,请在外层终端运行。文档给出的备用换行按键是 Ctrl+J。参见 Anthropic 终端设置说明。
重新接入时,为什么提示会话不存在?
用 tmux list-sessions 核对主机、用户和准确的会话名。如果会话已终止,或主机重启过,就需要恢复工作,反复尝试接入并不能解决问题。在确认原会话是否还在别处运行之前,不要急着创建一个名称相似的替代会话。
两个 tmux 窗格能防止智能体修改同一份文件吗?
不能。在本文的方案中,隔离来自不同的 worktree 路径。开始修改前,先确认每个 shell 所在的目录和分支。最终的修改仍需要你审查和整合。
周一就从这件事开始:挑一个远程任务,为它创建 worktree 和命名会话。在让它无人值守运行之前,先确认自己能顺利分离并重新接入。等这套操作熟练了,再加第二个独立任务。
如果你的团队希望将这套工作流集成到开发环境中,可以了解我们的生产级 AI 系统开发服务。
- 发布日期
- 分类
- Build
- 语言







