Claude Code 学习站

Claude Code 会话管理完整参考(Sessions)

涵盖 `--continue`/`--resume`/`--from-pr`、选择器快捷键、命名、`/branch` 分支、上下文命令及转录文件路径与环境变量的 CLI 参考。

本页目录15
AI 摘要 · 已核查整理于 2026-06-19原文:Manage sessions(Anthropic)会话管理CLI 参考转录文件上下文窗口
要点速览
  • 用 `claude --continue` 恢复最近会话;`--resume` 打开选择器;`--resume <name>` 直接定位命名会话;`--from-pr <number>` 关联 PR 恢复
  • 转录文件默认存于 `~/.claude/projects/<project>/<session-id>.jsonl`,30 天后自动清理;可通过 `cleanupPeriodDays` 调整周期
  • 选择器支持三级范围切换:`Ctrl+W` 当前仓库所有 worktree,`Ctrl+A` 本机所有项目,`Ctrl+B` 仅当前分支
  • `/branch [name]` 或命令行加 `--fork-session` 创建分支会话;「仅本次会话允许」的权限不随分支携带
  • 环境变量 `CLAUDE_CODE_SKIP_PROMPT_HISTORY` 可禁止写入转录文件;非交互模式可加 `--no-session-persistence`
  • `/clear` 清空上下文但保留已保存对话;`/compact [instructions]` 以摘要替换历史;`/context` 查看当前占用情况

本文是对官方参考页 Manage sessions 的中文整理,完整与最新内容以原文为准。

概述

会话(Session)是与项目目录绑定的已保存对话。Claude Code 在本地持续保存会话,支持恢复、命名、分支以及在多个任务间切换。CLI、桌面 App、Web 版和 VS Code 扩展各维护独立的会话历史,本页面仅覆盖 CLI 行为。


恢复会话

入口命令

命令说明
claude --continue恢复当前目录中最近一次会话
claude --resume打开交互式会话选择器
claude --resume <name>直接恢复指定名称的会话
claude --from-pr <number>恢复与该 Pull Request 关联的会话
/resume在活跃会话内切换到其他对话

通过 claude -p 或 Agent SDK 创建的非交互会话不出现在选择器中,但可通过 claude --resume <session-id> 恢复,需在该会话所在目录下运行(Session ID 查找作用域限于当前项目目录及其 git worktree)。

名称解析规则

命令精确匹配模糊/重名
claude --resume <name>直接恢复打开选择器并以该名称预填搜索词
/resume <name>直接恢复报错;需无参运行 /resume 打开选择器

名称解析范围覆盖当前仓库及其所有 worktree,支持跨 worktree 直接恢复。

选择器的查找范围

默认显示当前 worktree 的交互式会话,以及通过 /add-dir 添加了当前目录的其他会话。

  • v2.1.169 起:在会话内执行 /cd 后,会话会迁移到新目录的项目存储,并出现在新目录的选择器中。
  • 选中同仓库其他 worktree 的会话:在原地恢复。
  • 选中无关项目的会话:将 cd + resume 命令复制到剪贴板。

命名会话

时机方式
启动时claude -n <会话名>(示例:claude -n auth-refactor
会话进行中/rename <会话名>,名称同时显示在提示栏
在选择器中高亮目标会话后按 Ctrl+R
接受计划时在计划模式(Plan Mode)下接受计划,若尚未命名则自动从计划内容生成

命名后可通过 claude --resume <name>/resume <name> 直接返回该会话。


会话选择器键盘快捷键

运行 /resume(会话内)或 claude --resume(无参数)打开选择器。

快捷键操作
/ 上下导航会话列表
/ 展开或折叠分支/分组会话
Enter恢复高亮会话
Space预览会话内容(Ctrl+V 在不支持 Space 预览的终端同效)
Ctrl+R重命名高亮会话
/ 或任意可打印字符(非 Space进入搜索模式过滤列表;支持粘贴 GitHub / GitHub Enterprise / GitLab / Bitbucket PR/MR URL 查找关联会话
Ctrl+A显示本机所有项目的会话(再按一次返回当前仓库)
Ctrl+W显示当前仓库所有 worktree 的会话(仅多 worktree 仓库显示;再按返回当前 worktree)
Ctrl+B仅显示当前 Git 分支的会话(再按显示所有分支)
Esc退出选择器或搜索模式

每行显示:会话名(若已设置)或对话摘要/首条提示、最后活跃时间、消息数、Git 分支。使用 Ctrl+A 展宽后额外显示项目路径。

通过 /branch/rewind--fork-session 创建的分支会话归组在根会话下,按 展开查看。


分支会话

分支将当前对话完整复制为新会话并切入,原会话保持不变,可用于在不丢失原路径的情况下尝试不同方案。

分支方式

方式命令
会话内分支(可选指定名称)/branch [name](示例:/branch try-streaming-approach
命令行:基于最近会话分支claude --continue --fork-session
命令行:基于指定会话分支claude --resume <name> --fork-session

注意事项

  • /branch 确认提示会打印两个 Session ID:新分支 ID 和原会话 ID。
  • 返回原会话:将原 ID 传给 /resume、在选择器中选择,或运行 /resume <original-name>
  • 「仅本次会话允许」的权限不随分支携带到新会话。
  • 若在两个终端中恢复同一会话而不分支,两侧消息会交叉写入同一转录文件。
  • 基于检查点的回退请参见 Checkpointing 文档。

会话内上下文管理

命令说明
/clear清空上下文窗口;对话已保存,可通过 --resume 恢复
/compact [instructions]以摘要替换当前历史;可附加 instructions 指定摘要聚焦方向
/context显示当前上下文窗口的占用情况

导出与存储

导出命令

用法效果
/export将当前对话复制到剪贴板
/export <filename>直接写入指定文件(消息和工具输出渲染为可读纯文本)

存储配置

项目值 / 说明
默认存储路径~/.claude/projects/<project>/<session-id>.jsonl
文件格式JSONL,每行为一个 JSON 对象(消息、工具调用或元数据)
自定义存储目录设置环境变量 CLAUDE_CONFIG_DIR
默认自动清理周期30 天
修改清理周期在 settings 中设置 cleanupPeriodDays
禁止写入转录文件设置环境变量 CLAUDE_CODE_SKIP_PROMPT_HISTORY
非交互模式禁止持久化启动时传入 --no-session-persistence

相关页面

页面内容摘要
Worktrees在独立分支上运行隔离的并行会话
Checkpointing将代码和对话回退到某个更早的检查点
Context window上下文窗口的填充方式及压缩后保留内容
Non-interactive modeclaude -p 下的会话行为说明