Claude Code

关注公众号 jb51net

关闭
AI > Claude Code >

Claude Code的会话恢复与多窗口使用指南(2026年)

一勺菠萝丶

很多人刚开始用 Claude Code,最容易遇到几个问题:

这篇就把这些问题一次讲清楚。Claude Code 官方文档明确说明:会话会保存在本地磁盘上,之后可以通过 --continue--resume 等方式恢复,不需要每次都重新解释上下文。

一、先理解:Claude Code 的“会话”到底是什么

在 Claude Code 里,session(会话) 可以理解成一段完整的对话历史。它不只是你发过的话,还包括:

官方文档写得很明确:Claude Code 会把这些会话内容自动写入磁盘,这样你之后就可以回到之前的会话,继续追问、继续修改、继续分析。

但这里有一个很重要的点:

会话保存的是“对话历史”,不是“文件系统快照”。也就是说,Claude 记得之前聊过什么、看过哪些文件、分析过什么,但如果你要恢复某个时刻的代码状态,那是另外一回事,需要靠版本控制或 checkpoint 之类的能力,不是单靠 session 本身。

二、关闭终端后,会话还在吗?

一般还在。

只要你没有使用禁用持久化的模式,Claude Code 会把会话保存到本地,所以即使你关掉了 iTerm2、Terminal 或 VS Code 终端,之后仍然可以恢复。官方最佳实践文档也明确说了:Claude Code 会本地保存对话,任务跨多次使用时,可以直接恢复,无需重讲上下文。

但有一个例外:

如果你用了类似下面这种参数:

claude -p --no-session-persistence "你的问题"

那这个会话不会保存到磁盘,也就不能恢复。官方 CLI 文档明确写了:--no-session-persistence 会禁用会话持久化,因此这些会话不会被保存、也无法被 resume。

三、最常用的两个命令:--continue和--resume

这是新手最容易搞混的地方。

claude --continue

作用是:

继续当前目录最近一次会话。

官方文档把它定义为:恢复最近一次 conversation,是最省事的恢复方式。

示例:

claude --continue

适合场景:

claude --resume

作用是:

恢复某个指定会话,或者打开会话选择器让你自己选。

官方文档说明,--resume 可以让你选择最近会话,也可以按会话名恢复,还能按 session ID 恢复。

示例:

claude --resume

这通常会打开一个会话选择界面,让你手动选。

如果你知道会话名,也可以这样:

claude --resume auth-refactor

适合场景:

四、什么时候用--continue,什么时候用--resume?

这是最简单的记法:

用--continue的时候

你只有一个主要任务,或者默认就想回到“刚才那个”。

比如:

这时直接:

claude --continue

就够了。

用--resume的时候

你有多个任务并行,或者你想明确指定某一个会话。

比如:

这时就用:

claude --resume

或者:

claude --resume wallpaper-crawler

官方也明确建议:当你处理多个 feature 或多个任务时,给会话起描述性名字,后续更容易 resume。

五、给会话命名:多窗口不乱的核心

如果你一个项目经常开多个 Claude,会话命名几乎是必做项。

Claude Code 官方支持在启动时直接给 session 起名字:

claude -n auth-refactor

也支持在会话进行中改名:

/rename auth-refactor

官方文档说明:

六、多个窗口怎么区分最省事?

推荐做法:一个任务,一个名字

比如同一个项目里,你可以这样开:

claude -n crawler-task
claude -n admin-api-task
claude -n frontend-task

以后恢复时就很清楚:

claude --resume crawler-task
claude --resume admin-api-task
claude --resume frontend-task

这是官方推荐方向:给 session 起描述性的名字,方便后续查找和恢复。

推荐命名规则

为了让小白更不容易乱,我建议你用固定格式:

项目名-模块名-任务名

例如:

xhsite-crawler-login
xhsite-admin-fileconfig
xhsite-frontend-home

或者再简单一点:

crawler-task
admin-task
frontend-task

只要能做到一眼区分就行。

七、claude --resume 你的会话名是启动前还是启动后用?

是启动前用。

也就是说,你是在终端里直接敲下面这条命令:

claude --resume auth-refactor

它的意思就是:启动 Claude,并恢复这个名字对应的会话。 官方 CLI 参考就是这么定义的。

八、已经进入 Claude 以后,还能切换会话吗?

可以。

Claude Code 支持 slash command:

/resume

它可以打开会话选择器。

也可以写成:

/resume auth-refactor

官方 commands 文档说明,/resume [session] 可以按 ID 或名称恢复会话,也可以不带参数直接打开选择器;它的别名就是 /continue

九、名字重复了怎么办?

这一点官方也提到了。

如果你执行:

claude --resume auth

而叫 auth 的会话不止一个,官方文档说明:CLI 会把这个名字当成搜索词,带你进入 picker 选择,而不是盲目跳进某一个。

但如果你已经在会话里执行:

/resume auth

当名字有歧义时,官方说明它会直接报错;这时候更适合只敲:

/resume

然后从列表里选。

所以最好的做法还是:

尽量不要起重复名。

十、同一个会话能不能在两个终端同时打开?

可以打开,但不建议。

Claude Code 官方文档明确提醒:

如果你在多个终端里恢复了同一个 session,两个终端都会往同一个 session 文件里写内容,消息会交错,就像两个人同时往同一本笔记本上写字一样。内容不会损坏,但会变得很乱。

这意味着什么?

例如你在终端 A 和终端 B 都执行了:

claude --resume crawler-task

接下来:

最后这个 session 会变成“交叉聊天记录”,你回头看时很容易懵。

正确做法

做法 1:不同任务开不同会话

这是最推荐的。

claude -n crawler-task
claude -n admin-task
claude -n frontend-task

做法 2:如果想基于已有会话分叉思路,用 fork

Claude Code 官方支持在恢复时 fork 出一个新 session,这样可以保留原会话不变,同时创建一个新的分支会话。CLI 参考里明确有 --fork-session,可配合 --resume--continue 使用。

例如:

claude --resume auth-refactor --fork-session

这适合:

十一、恢复会话后,权限会不会也一起恢复?

不会全部恢复。

官方文档说明:当你用 claude --continueclaude --resume 恢复会话时,会话历史会恢复,但session-scoped permissions 不会继承,需要你重新批准。

这对新手很重要,因为很多人会以为:

“我都恢复到上次聊天了,为什么它还要重新确认权限?”

这不是异常,是正常行为。

十二、什么时候最适合恢复会话?

下面这些情况,特别适合用恢复会话。

场景 1:昨天做到一半,今天继续

比如你昨天已经让 Claude:

今天继续问:

这时直接恢复最省事,因为 Claude 之前的分析历史都还在。官方文档明确说明:恢复会话后,Claude 会保留之前读过的文件、做过的分析和形成的判断。

场景 2:终端意外关闭

比如:

这时你通常可以直接:

claude --continue

快速续上最近一次本地会话。

场景 3:同一项目多任务并行

比如你在同一个仓库里同时处理:

这时应该给每个任务单独起会话名,然后用 --resume 名称 精准恢复。

场景 4:你不想每次都重新解释需求

官方最佳实践明确提到,任务跨会话时,不需要每次都重新讲背景,因为 Claude Code 本地保存了会话。

这对长任务特别有用,比如:

十三、什么时候不建议强行恢复旧会话?

虽然恢复很方便,但也不是所有时候都该恢复。

情况 1:任务已经完全换了

比如你之前在修登录,现在要开始写爬虫设计方案。这时硬接着旧会话聊,可能会让上下文混杂。

更合适的方式是:

claude -n crawler-design

新开一个会话。

情况 2:旧会话已经太长、太杂

如果那个会话里已经混进了很多无关内容,比如:

这时候继续在旧会话上叠加,长期看会更乱。

更好的方式是:

十四、最适合小白的一套使用习惯

如果你是刚开始用 Claude Code,我建议直接用这套:

单任务项目

平时只有一个主要任务,就这么用:

claude

下次回来:

claude --continue

多任务项目

一开始就命名:

claude -n login-bug
claude -n wallpaper-crawler
claude -n admin-ui

下次恢复:

claude --resume login-bug
claude --resume wallpaper-crawler
claude --resume admin-ui

不确定名字时

直接打开选择器:

claude --resume

或者在 Claude 里:

/resume

这样最不容易输错。

想改会话名时

在会话里直接:

/rename 新名字

官方命令文档确认支持 /rename [name],不带名字时还可以自动生成名字。

十五、和 Codex 的体验差别

很多人会觉得 Codex 更像“一个一直存在的窗口”,而 Claude Code 更像“保存了历史,但需要主动恢复”。

这个感觉是正常的。

Claude Code 官方支持:

所以它可以很好地续会话。但它的典型使用方式确实更偏向:

“关闭后,回来 resume/continue”,而不是“永远自动挂着同一个窗口”。相关能力在 CLI reference、best practices 和 sessions 文档里都写得很明确。

十六、一个最实用的命令速查表

启动普通会话

claude

启动时给会话命名

claude -n wallpaper-crawler

恢复最近一次会话

claude --continue

打开会话列表自己选

claude --resume

按名字恢复某个会话

claude --resume wallpaper-crawler

在当前会话里改名

/rename wallpaper-crawler

在当前会话里打开恢复列表

/resume

基于旧会话分叉一个新会话

claude --resume wallpaper-crawler --fork-session

这些命令都能在官方 CLI / commands / sessions 文档里找到对应说明。

十七、结尾总结

最后帮你总结成最简单的话:

1. Claude Code 会自动保存本地会话

所以关掉终端后,通常还能恢复。

2.--continue是恢复最近一次

适合一个项目只开一个主要会话的人。

3.--resume是恢复指定会话或打开列表选择

适合多任务并行。

4. 多窗口一定要给会话命名

不然你后面很容易找不回来。

5. 不要在两个终端同时写同一个 session

会话虽然不会坏,但内容会交错,很乱。

6. 恢复的是对话历史,不是代码快照

恢复后 Claude 记得你们聊过什么,但代码状态是否一致,还要结合 Git / checkpoint 自己管理。

到此这篇关于Claude Code的会话恢复与多窗口使用指南(2026年)的文章就介绍到这了,更多相关Claude Code会话恢复与多窗口使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!