会话管理
原文:Manage sessions
一句话
如何命名、恢复、分支和切换 Claude Code 会话
什么时候翻这页
- 需要恢复之前的对话继续工作
- 想要尝试不同的方法而不丢失当前进度
- 需要在多个任务间切换
- 想要导出或查找会话记录
核心概念
- 会话(session):与项目目录关联的保存对话,Claude Code 在本地存储
- 会话选择器(session picker):交互式界面,用于浏览和选择会话
- 分支(branch):创建当前对话的副本,尝试不同方法
- 转录(transcript):会话的 JSONL 格式记录,存储在本地
怎么做
恢复会话
- 使用
claude --continue 恢复当前目录中最新的会话
- 使用
claude --resume 打开会话选择器
- 使用
claude --resume <name> 恢复指定名称的会话
- 使用
claude --from-pr <number> 恢复与指定 PR 关联的会话
- 在会话中使用
/resume 切换到不同对话
命名会话
- 启动时:
claude -n auth-refactor
- 会话中:
/rename auth-refactor
- 从会话选择器:选择会话后按
Ctrl+R
使用会话选择器
- 运行
/resume 或 claude --resume 打开
- 使用键盘导航和搜索
- 按
Ctrl+A 显示所有项目的会话
- 按
Ctrl+W 显示当前仓库的所有工作树
分支会话
- 在会话中:
/branch try-streaming-approach
- 从命令行:
claude --continue --fork-session
管理会话上下文
/clear:清空上下文,但保存之前的对话
/compact [instructions]:用摘要替换历史
/context:显示当前上下文内容
导出会话数据
- 使用
/export 复制到剪贴板或保存为文本文件
- 转录存储在
~/.claude/projects/<project>/<session-id>.jsonl
命令 / 配置速查
| 命令 | 功能 |
|---|
claude --continue | 恢复当前目录中最新的会话 |
claude --resume | 打开会话选择器 |
claude --resume <name> | 恢复指定名称的会话 |
claude --from-pr <number> | 恢复与指定 PR 关联的会话 |
/resume | 在活动会话中切换到不同对话 |
/rename <name> | 重命名当前会话 |
/branch [name] | 创建当前会话的分支 |
/clear | 清空上下文,保存之前的对话 |
/compact [instructions] | 用摘要替换历史 |
/context | 显示当前上下文内容 |
/export | 导出当前会话数据 |
| 环境变量 | 功能 |
|---|
CLAUDE_CONFIG_DIR | 设置会话存储目录 |
CLAUDE_CODE_SKIP_PROMPT_HISTORY | 禁用转录写入 |
cleanupPeriodDays | 设置转录保留天数 |
初学者易错点
- 使用
/resume <name> 时,如果名称不明确,会打开会话选择器而不是直接恢复
- 分支会话后,原会话的权限不会自动传递到新分支
- 在同一终端中恢复相同会话而不进行分支会导致消息混合到一个转录中
- 会话选择器默认只显示当前工作树的会话,需要使用
Ctrl+W 或 Ctrl+A 扩大范围
相关词条
worktrees 在不同分支上运行隔离的并行会话
checkpointing 将代码和对话倒退到较早的检查点
context-window 上下文窗口内容和压缩生存规则
headless 非交互模式下的会话行为
best-practices 会话管理最佳实践