English ← MyDocs

文档索引

在此获取完整文档索引:https://code.claude.com/docs/llms.txt 使用此文件发现所有可用页面,然后再进一步探索。

管理会话

命名、恢复、分支和切换 Claude Code 对话。涵盖 --continue--resume--from-pr/resume 选择器、会话命名以及会话记录的存储位置。

会话是绑定到项目目录的已保存对话。Claude Code 在您工作时将其本地存储,因此您可以从中断处恢复、分支以尝试不同的方法,或在任务之间切换。

桌面应用网页版 Claude CodeVS Code 扩展 各自维护自己的会话历史。本页涵盖 CLI:

  • 恢复之前的对话,通过标志、名称或 PR
  • 命名会话以便稍后查找
  • 浏览会话,使用 /resume 选择器
  • 分支对话以尝试不同的方法
  • 导出会话记录并在磁盘上找到它们

恢复会话

会话在您工作时持续保存到本地会话记录文件,因此您可以在退出或运行 /clear 后返回。使用这些入口点:

命令功能
claude --continue恢复当前目录中最近的会话
claude --resume打开会话选择器
claude --resume <name>直接恢复命名会话
claude --from-pr <number>恢复链接到该 pull request 的会话
/resume从活跃会话内切换到不同的对话

使用 claude -pAgent SDK 创建的会话不会出现在会话选择器中,但您仍然可以通过将会话 ID 传递给 claude --resume <session-id> 来恢复。

会话选择器的查找范围

会话按项目目录存储。默认情况下,会话选择器显示来自当前工作树的交互式会话,以及在其他位置启动但使用 /add-dir 添加了当前目录的会话。使用 Ctrl+W 扩展到存储库的所有工作树,或使用 Ctrl+A 扩展到此机器上的所有项目。

从同一存储库的另一个工作树中选择会话会在原处恢复它。从不相关的项目中选择会话会将 cd 和恢复命令复制到剪贴板。

按名称恢复会在当前存储库及其工作树中解析。两种形式都查找精确匹配并直接恢复,即使它位于不同的工作树中:

命令精确匹配名称歧义
claude --resume <name>直接恢复打开会话选择器,名称预填为搜索词
/resume <name>直接恢复报告错误;不带参数运行 /resume 打开会话选择器

命名会话

为会话提供描述性名称,以便在会话选择器中可查找并可按名称恢复。当您并行处理多个任务时,这一点尤为重要。

时机如何设置名称
启动时claude -n auth-refactor
会话期间/rename auth-refactor。名称也会显示在提示栏中
从会话选择器高亮会话并按 Ctrl+R
计划接受时计划模式中接受计划会根据计划内容命名会话,除非您已经设置了名称

一旦会话被命名,使用 claude --resume <name>/resume <name> 返回。请参阅恢复会话了解名称解析在工作树之间的行为。

使用会话选择器

在会话中运行 /resume,或不带参数运行 claude --resume,以打开交互式会话选择器。使用以下键盘快捷键导航、搜索和扩展列表:

快捷键操作
/ 在会话之间导航
/ 展开或折叠分组的会话
Enter恢复高亮的会话
Space预览会话内容。在不将其捕获为粘贴的终端上,Ctrl+V 也可用
Ctrl+R重命名高亮的会话
/ 或除 Space 外的任何可打印字符进入搜索模式并过滤会话。粘贴 GitHub、GitHub Enterprise、GitLab 或 Bitbucket pull 或 merge request URL 以找到创建它的会话
Ctrl+A显示此机器上所有项目的会话。再次按下返回当前存储库
Ctrl+W显示当前存储库所有工作树的会话。再次按下返回当前工作树。仅在多工作树存储库中显示
Ctrl+B过滤为当前 git 分支的会话。再次按下显示所有分支
Esc退出会话选择器或搜索模式

每行显示会话名称(如果已设置),否则显示对话摘要或第一个提示,以及自上次活动以来的时间、消息计数和 git 分支。使用 Ctrl+A 扩展到所有项目后,项目路径会出现。

使用 /branch/rewind--fork-session 创建的分叉会话在其根会话下分组。按 展开组。

分支会话

分支会创建到目前为止对话的副本并将您切换到其中,保持原始对话不变。使用它来尝试不同的方法而不丢失您之前的路径。

在会话内部,运行 /branch 并可选地指定名称:

/branch try-streaming-approach

从命令行,将 --continue--resume--fork-session 结合使用:

claude --continue --fork-session

原始会话保持不变,并在会话选择器中可用。/branch 确认会打印两个会话 ID:您当前所在的新分支和原始分支。要返回原始分支,将其 ID 传递给 /resume,使用会话选择器,或运行 /resume <original-name>。您以"允许此会话"批准的权限不会延续到新分支。如果您在两个终端中恢复同一会话而不进行分叉,来自两者的会话将交错到一个会话记录中。

有关单个会话中基于检查点的回退,请参阅检查点

管理会话内的上下文

这些命令控制上下文窗口中的内容而不离开会话:

  • /clear:从空上下文重新开始。之前的对话会被保存并可恢复
  • /compact [instructions]:用摘要替换历史记录,可选择性地专注于您指定的内容
  • /context:显示当前消耗上下文的内容

有关压缩如何与 CLAUDE.md、技能和规则交互,请参阅上下文窗口指南。有关何时清除与压缩的策略,请参阅最佳实践

导出和定位会话数据

运行 /export 将当前对话复制到剪贴板或保存为纯文本文件,消息和工具输出呈现为可读文本。传递文件名以直接写入该文件。

会话记录以 JSONL 格式存储在 ~/.claude/projects/<project>/<session-id>.jsonl,其中 <project> 源自您的工作目录路径。每行是消息、工具使用或元数据条目的 JSON 对象。要将会话存储在 ~/.claude 之外的位置,请设置 CLAUDE_CONFIG_DIR。这些本地文件默认在 30 天后删除;使用 cleanupPeriodDays 更改此设置。

要完全禁止会话记录写入,请设置 CLAUDE_CODE_SKIP_PROMPT_HISTORY,或在非交互模式下使用 --no-session-persistence

另请参阅

这些页面涵盖相关的会话和并行机制: