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
Ollama vs vLLM 怎么选:从本地部署到高并发推理

Ollama vs vLLM 怎么选:从本地部署到高并发推理

Ollama vs vLLM 怎么选?围绕并发请求、GPU 显存、模型规模、量化格式和 API 兼容性,梳理本地部署与共享推理服务的取舍。两者自托管软件费用均为 $0,真正拉开成本的是硬件与运维。结合预算示例和迁移清单,判断何时保留 Ollama,何时评估 vLLM,并在切换前验证模型、延迟与回滚方案。2026年10月12日Build
Lovable vs Cursor:从 MVP 起步到代码接手,该选谁?

Lovable vs Cursor:从 MVP 起步到代码接手,该选谁?

Lovable vs Cursor 该怎么选?本文面向创始人和产品经理,对比 AI 编程工具的上手门槛、托管与数据库、代码所有权和维护责任,拆解 Lovable 价格与 Cursor 价格,并按单人开发、多人协作及交接月份计算订阅预算,说明如何通过 GitHub 接手代码,以及何时需要单独迁移后端。2026年10月11日Build
Ollama 和 LM Studio 对比:本地大模型部署怎么选?

Ollama 和 LM Studio 对比:本地大模型部署怎么选?

Ollama 和 LM Studio 对比,怎么选才适合本地大模型部署?本文从桌面体验、本地 API、无界面服务、GPU 与 Mac 支持、工作用途许可、隐私和云端费用分析,说明有状态 Responses 何时会改变选型,迁移前又该核对哪些设置。两者本地运行软件费用均为 $0,差异主要在工作流程、接口行为与授权边界。2026年10月11日Build
Cursor 规则配置指南:从三份 TypeScript 示例开始

Cursor 规则配置指南:从三份 TypeScript 示例开始

Cursor 规则该放在哪里,怎样设置才会生效?本文梳理项目、用户与团队规则的区别,说明四种加载方式,并提供可用的 TypeScript 代码风格、测试和安全规则示例。了解如何迁移旧的 .cursorrules 文件,与 CLAUDE.md、AGENTS.md 保持约定一致,再用真实代码改动验证配置,减少重复纠正。2026年10月11日Build
Codex CLI 上手指南:完成首个任务,配好团队协作

Codex CLI 上手指南:完成首个任务,配好团队协作

从安装 Codex CLI、选择 ChatGPT 或 API 密钥登录,到完成首个可验证的小任务,逐步走通检查、修改、测试和审查流程。本文还讲清沙箱与审批的区别、AGENTS.md 团队约定、config.toml 默认设置,以及何时添加 MCP 和 worktree,帮助小团队建立可重复的协作方式。2026年10月11日Build
Claude Code 最佳实践:从验收标准到并行开发,减少返工与浪费

Claude Code 最佳实践:从验收标准到并行开发,减少返工与浪费

Claude Code 最佳实践该从哪里入手?本文按采用顺序,梳理验收检查、Plan 模式、CLAUDE.md、上下文管理、费用衡量、权限、hooks、子代理和 worktrees。结合开发者与小团队的常见任务,说明每种做法能减少哪些浪费、有哪些边界,帮助你减少返工,并衡量通过验收的改动成本。2026年10月11日Build
Codex 插件实战:从开发、安装到团队插件市场

Codex 插件实战:从开发、安装到团队插件市场

Codex 插件如何开发、安装并交给团队使用?本文从三个插件文件和一份市场目录入手,讲清技能、App 连接器与 MCP 的分工,演示通过 GitHub 仓库或本地目录安装,并梳理清单格式兼容、身份验证、凭据隔离和工作区发布限制。还结合 API 评审与新人入职场景,说明试点时应记录什么,以及如何估算重复配置的时间成本。2026年10月11日Build
CLAUDE.md 配置指南:把团队规则写好,让每次会话直接开工

CLAUDE.md 配置指南:把团队规则写好,让每次会话直接开工

从作用域和文件位置,到按路径加载的规则与自动记忆,本文带你完成适合小型产品团队的 CLAUDE.md 配置。提供可调整的团队指令模板,说明如何与 AGENTS.md 共用规则、检查启动时的上下文,以及每月清理过期笔记。把反复交代的要求集中维护,并分清文字指引与权限、钩子控制各自的边界。2026年10月11日Build
订阅通讯

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

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