tmux 配置指南:用 Claude Code 多开任务、远程重连

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

发布于

tmux 配置指南:用 Claude Code 多开任务、远程重连

用这套 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 的要求。

Tmux
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 的默认设置:

任务主机上的 worktreetmux 会话窗口
功能开发~/src/project-feature-acc-feature-aclaude,可选 checks
故障排查~/src/project-bugfixcc-bugfixclaude,可选 checks

下面的首次配置示例假定 ~/src/project 已有一个仓库,仓库中至少有一次提交,示例中的分支名、目录名和会话名也都尚未使用。请替换 dev@devbox 和项目路径。从笔记本上普通的 shell 开始执行,不要在 tmux 内运行。worktree 命令遵循 Anthropic 的手动操作流程;命名会话的组织方式则是本文提供的方案。

Bash
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:
claude

SSH 连接成功后,余下的命令都在远程主机上执行。两个后台会话最初都只运行着 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 会话。
会话运行在远程主机上,SSH 是连接它们的通道。在这套布局中,每个会话各用一个独立的 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'。

想做什么操作
离开,但让任务继续运行先按 Ctrl+B,再按 D
查看已有的命名会话tmux list-sessions
回到故障修复任务tmux attach-session -t cc-bugfix
在 tmux 内切换会话先按 Ctrl+B,再按 S
选择当前会话中的窗口先按 Ctrl+B,再按 W

这些按键操作以默认前缀为前提。如果改过前缀键,就使用自己的设置。在 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,再审查生成的差异在做出选择前保留两套实验,并明确决定如何合并
对原因不明的故障,需要从多个角度调查试一次范围受控的团队调查,再让负责人汇总核对证据在值得开展独立调查时,可能更快得到有用的诊断

增加自动化之前,先量一量中断带来的成本。举个例子:每周中断五次,每次花四分钟重新找回上下文,就会耗掉二十分钟。这些是假设输入,不是基准测试结果。记录自己的恢复时间、配置时间和审查时间;只有总耗时下降,这套工作流才值得保留。同时运行更多智能体,并不自动意味着更划算。

围绕这套工作流,可以做哪两个小工具?

更值得考虑的方向,是面向开发团队的 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
Google Jules 停服指南:导出工作记录,迁移后台任务

Google Jules 停服指南:导出工作记录,迁移后台任务

Google Jules 即将停服,如何保住代码仓库之外的任务记录?本文梳理只读与关停时间表、官方导出流程、历史记录和 API 的未决问题,并说明如何迁移到 Antigravity、Codex、Claude Code 或 GitHub Copilot,验证环境配置、测试和代码审查流程,再切换定期任务。2026年11月1日Build
smolagents 教程:Python 代码智能体原理、沙箱与框架选型

smolagents 教程:Python 代码智能体原理、沙箱与框架选型

smolagents 如何用 Python 驱动 AI 智能体?了解两种智能体的区别、工具与模型的搭配,以及 Docker 示例的执行流程。本文梳理沙箱边界、权限与资源限制,并对比 LangGraph 和 OpenAI Agents SDK,帮助开发者判断何时适合动态组合代码,何时应采用持久化工作流或专职智能体协作。2026年10月31日Build
Warp Terminal 评测:先换终端,再决定要不要换 AI 编程助手

Warp Terminal 评测:先换终端,再决定要不要换 AI 编程助手

Warp Terminal 值得替换现有终端吗?本文拆解命令块、外部编程智能体集成与 Warp Drive,比较 iTerm2、Ghostty,并梳理套餐价格、平台计费、隐私设置、共享会话保留和离线限制。先保留 Claude Code 或 Codex,用实际任务判断终端体验是否改善,再决定是否更换智能体或推广到团队。2026年10月31日Build
Kilo Code 评测:多模型、云端任务与代码审查,值得换吗?

Kilo Code 评测:多模型、云端任务与代码审查,值得换吗?

Kilo Code 评测:梳理 VS Code、JetBrains、CLI 与云端智能体的工作方式,比较 Cline、Claude Code 等替代方案,拆解模型选择、共享账单、推理与计算费用,并说明云端配置、代码审查和数据路由的限制,帮助个人开发者与小团队判断,是否值得为一套相互衔接的开源 AI 编程工作流迁移。2026年10月31日Build
Amazon Bedrock AgentCore 架构详解:组件分工、适用场景与试点指南

Amazon Bedrock AgentCore 架构详解:组件分工、适用场景与试点指南

Amazon Bedrock AgentCore 能替代智能体技术栈中的哪些自建工作?本文梳理各组件的职责与适用场景,讲清执行隔离、会话归属、记忆、工具访问和业务权限的边界,并说明运行限制与区域支持如何影响架构。附 CLI 试点流程,帮助团队判断何时值得采用、哪些责任仍需自己承担,以及上线前该验证什么。2026年10月30日Build
投机解码实战:原理、性能边界与大模型推理加速配置

投机解码实战:原理、性能边界与大模型推理加速配置

投机解码如何让大模型更快输出,同时保留目标模型的采样行为?本文讲清草稿生成、精确验证与接受率,比较独立草稿模型、EAGLE 和 MTP,给出 vLLM、SGLang、TensorRT-LLM 配置示例,并说明并发、显存与草稿开销如何影响收益,帮助自建推理服务和托管 API 团队确定评估与上线条件。2026年10月30日Build
GPU云服务器怎么选?2026 年 7 家服务商价格与场景对比

GPU云服务器怎么选?2026 年 7 家服务商价格与场景对比

GPU云服务器怎么选?对比 Runpod、Lambda、CoreWeave、Vast.ai、Modal、Together AI 和 Google Cloud,梳理模型微调、无服务器推理与集群的适用场景。从显存需求、计费单位、冷启动、存储和传输费用到区域限制,帮你核算完整成本,判断该租机器、调用 API,还是预留算力。2026年10月30日Build
GitHub Copilot Fusion 怎么用?模型协作、档位与积分详解

GitHub Copilot Fusion 怎么用?模型协作、档位与积分详解

GitHub Copilot Fusion 如何选择并协调模型?本文梳理各客户端的开启方式、Standard、High 与 Max 档位,以及 AI 积分计费和官方基准的适用边界,并给出单仓库试用流程,帮助开发者和团队核对用量、审查完整代码差异,再决定是否将 Fusion 设为默认配置。2026年10月29日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。