Claude Code 会话管理完整指南

本指南介绍 Claude Code CLI 的会话管理功能,包括命名、保存、恢复和删除会话的完整方法。


目录


1. 会话命名

在当前会话中命名

在活跃的会话中,使用 /rename 命令给当前会话命名:

/rename 会话名称

示例:

/rename auth-refactor
/rename 数据库迁移
/rename 支付模块集成

通过会话选择器重命名

  1. 运行 /resume 打开会话选择器
  2. 使用 导航到要重命名的会话
  3. R
  4. 输入新的会话名称

命名最佳实践

  • 尽早命名:开始工作后立即为会话命名
  • 使用描述性名称:如 payment-integrationbugfix-123登录功能优化
  • 保持简洁:避免过长的名称,但要能清楚表达会话的主要内容
  • 使用统一命名规范:如使用中划线或下划线分隔词组

2. 会话保存

自动保存机制

Claude Code 自动保存所有会话,无需手动保存。

自动保存的内容包括:

  • ✅ 完整的消息历史记录
  • ✅ 所有工具使用和执行结果
  • ✅ 会话的上下文信息
  • ✅ 会话绑定的目录和 Git 仓库信息

存储特性:

  • 会话在同一 Git 仓库中持久化(包括工作树)
  • 每个会话都绑定到特定的目录
  • 退出会话时自动保存,无需额外操作

3. 会话恢复

Claude Code 提供多种恢复会话的方法:

方法 A:快速继续最近的会话

claude --continue

这将继续当前目录中最近使用的会话。

方法 B:打开会话选择器

浏览所有会话
claude --resume

这会打开交互式会话选择器,显示所有可用的会话。

直接恢复指定会话
claude --resume 会话名称

示例:

claude --resume auth-refactor
claude --resume 数据库迁移

方法 C:在活跃会话中切换

在当前活跃的会话中,使用:

/resume

这会打开会话选择器,让你浏览和切换到其他会话。

方法 D:从 Pull Request 恢复

claude --from-pr PR编号

示例:

claude --from-pr 123

这将恢复与指定 Pull Request 关联的会话。


4. 会话删除

CLI 版本

通过会话选择器管理会话:

  1. 运行 claude --resume 或在会话中使用 /resume
  2. 浏览和管理会话

Web 版本

在 Claude Code 的 Web 界面中:

  • 可以归档会话(Archive sessions)
  • 可以删除会话(Delete sessions)

注意: CLI 版本的具体删除功能需要通过会话选择器界面操作。


5. 快捷键参考

会话选择器快捷键

使用 /resumeclaude --resume 打开会话选择器时,可以使用以下快捷键:

快捷键 功能
/ 上下导航会话列表
/ 展开或折叠分组的会话
Enter 选择并恢复高亮的会话
P 预览会话内容
R 重命名高亮的会话
/ 搜索和过滤会话
A 在当前目录和所有项目之间切换视图
B 按当前 Git 分支过滤会话
Esc 退出选择器或退出搜索模式

会话选择器显示信息

会话选择器会显示以下信息,帮助你快速识别和选择会话:

  • 会话名称:使用 /rename 设置的名称,或初始提示语
  • 上次活动时间:距离上次使用的时间(如 “2 小时前”)
  • 消息数量:对话中的消息总数
  • Git 分支:相关的分支名称(如适用)
  • 会话分组:分叉的会话会分组显示在其根会话下

6. 最佳实践

推荐工作流程

# 步骤 1: 开始新任务
cd /path/to/your/project
claude

# 步骤 2: 开始工作后立即命名会话
/rename 登录功能重构

# 步骤 3: 完成工作
# ... 进行对话和开发 ...

# 步骤 4: 退出会话(自动保存)
# 按 Ctrl+D 或 Ctrl+C

# 步骤 5: 稍后恢复会话
claude --resume 登录功能重构

# 或者快速继续
claude --continue

组织会话的建议

  1. 按功能或任务命名

    • 好: payment-api-integration用户认证重构
    • 差: testtemp会话1
  2. 及时命名

    • 开始工作后立即使用 /rename 命名
    • 避免积累大量未命名的会话
  3. 定期清理

    • 归档或删除已完成的旧会话
    • 保持会话列表简洁
  4. 使用分支过滤

    • 在会话选择器中按 B 键过滤当前分支的会话
    • 更容易找到相关的工作
  5. 利用搜索功能

    • 在会话选择器中按 / 键搜索
    • 快速定位特定会话

7. 高级技巧

分叉会话 (Fork Session)

当你想在不影响原始会话的情况下尝试不同的方法时,可以使用分叉:

# 继续当前会话,但创建一个新的会话 ID
claude --continue --fork-session

用途:

  • 尝试不同的实现方案
  • 并行测试多种解决方案
  • 保留原始会话的同时探索新思路

特点:

  • 创建新的会话 ID
  • 保留到该点为止的对话历史
  • 原始会话保持不变
  • 分叉的会话会在选择器中分组显示

并行工作

如果需要在多个终端中同时工作:

# 终端 1
claude --continue --fork-session

# 终端 2
claude --continue --fork-session

注意: 如果在多个终端中恢复同一个会话(不使用 --fork-session),两个终端都会写入同一个会话文件,消息会交错,容易造成混乱。

会话与目录绑定

  • 会话与启动它的目录相关联
  • 恢复会话时,选择器只显示同一个 Git 仓库中的会话
  • 这有助于保持会话的上下文一致性

权限管理

  • 恢复会话时,会话级别的权限不会被继承
  • 需要重新批准相关的工具使用权限
  • 这是出于安全考虑的设计

上下文恢复

  • 恢复会话时,完整的对话历史被加载
  • 保持工作的连续性和上下文
  • Claude 能够理解之前的讨论和决策

快速命令参考卡

启动和继续

claude                           # 启动新会话
claude --continue                # 继续最近的会话
claude --resume                  # 打开会话选择器
claude --resume 会话名称         # 恢复指定会话
claude --continue --fork-session # 分叉当前会话
claude --from-pr 123             # 从 PR 恢复会话

会话内命令

/rename 新名称    # 重命名当前会话
/resume          # 打开会话选择器切换会话

会话选择器快捷键

↑/↓    导航        P     预览
R      重命名      /     搜索
A      切换范围    B     分支过滤
Enter  选择        Esc   退出

常见问题

Q: 会话保存在哪里?

A: 会话自动保存在本地,与 Git 仓库绑定。具体路径由 Claude Code 管理。

Q: 会话可以跨项目共享吗?

A: 不可以。会话绑定到特定的目录和 Git 仓库。不同项目的会话是独立的。

Q: 如何找回很久以前的会话?

A: 使用 claude --resume 打开选择器,然后按 / 搜索会话名称或关键词。

Q: 可以导出会话吗?

A: 当前版本没有直接导出功能。会话存储在本地,由 Claude Code 管理。

Q: 删除会话是否可以恢复?

A: 已删除的会话通常无法恢复,请谨慎删除重要会话。建议使用归档而非删除。


总结

Claude Code 提供了强大的会话管理功能:

  • 自动保存 - 无需手动操作
  • 灵活命名 - 随时重命名会话
  • 多种恢复方式 - 快速继续或浏览选择
  • 会话分叉 - 安全探索不同方案
  • 智能组织 - 按分支、项目自动分类

掌握这些功能,可以让你更高效地管理多个开发任务和会话。


Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐