claude -c 命令

继续最近的对话会话

概述

claude -c 命令允许您继续最近的对话会话。这在您意外关闭了 REPL 或想要继续之前的工作时非常有用。

命令语法

claude -c [选项]

功能描述

-c--continue)标志会加载当前目录中最近的对话会话,并启动 REPL。这允许您:

  • 恢复意外中断的对话
  • 继续之前的工作
  • 保持对话上下文
  • 避免重复之前的查询

使用示例

基本用法

claude -c

结合初始查询

claude -c "继续优化这个函数"

指定模型

claude -c --model claude-4-opus

添加额外的工作目录

claude -c --add-dir ../tests

使用场景

意外中断

# 意外关闭了 REPL
claude -c

跨天工作

# 第二天继续前一天的工作
claude -c "继续昨天的任务"

切换任务

# 完成一个任务后,开始另一个任务
claude -c "开始新任务"

多项目工作

# 在项目 A 中工作
cd /path/to/project-a
claude -c

# 切换到项目 B
cd /path/to/project-b
claude -c

会话保存机制

保存位置

类型位置
本地会话项目目录的 .claude/sessions/
用户会话用户主目录的 .claude/sessions/

会话内容

保存的会话包含:

  • 对话历史
  • 上下文信息
  • 工具调用记录
  • 配置状态
  • 文件访问记录

会话管理

查看可用会话

ls -la .claude/sessions/

或使用交互式选择:

claude --resume

清理旧会话

# 删除超过 7 天的会话
find .claude/sessions/ -mtime +7 -delete

与其他恢复命令的对比

命令恢复方式选择性适用场景
claude -c最近会话快速继续最近的工作
claude --resume交互选择选择特定会话恢复
claude -r "id"指定 ID精确恢复特定会话

实际应用示例

工作流恢复

#!/bin/bash
# 检查是否有最近的会话
if [ -d .claude/sessions/ ]; then
  # 恢复最近的会话
  claude -c "继续之前的工作"
else
  # 启动新的会话
  claude "开始新任务"
fi

多项目管理

#!/bin/bash
# 项目列表
projects=("project-a" "project-b" "project-c")

# 选择项目
echo "选择项目:"
select project in "${projects[@]}"; do
  cd "/path/to/$project"
  claude -c "在 $project 中工作"
  break
done

常见问题

问题答案
如何查看会话详细信息?查看会话目录中的文件,或使用 claude --resume 交互式选择
恢复的会话与原会话完全一样吗?基本一样,但某些临时状态可能无法完全恢复
可以恢复其他目录的会话吗?不可以,-c 只加载当前目录的会话,需切换目录或使用 -r
会话占用多少磁盘空间?取决于对话长度,通常在几 KB 到几 MB 之间

最佳实践

  1. 结合版本控制:在 Git 提交前保存会话,将代码变更与会话状态同步记录
  2. 定期清理:删除超过 7 天的旧会话,避免磁盘空间浪费
  3. 项目隔离:每个项目保持独立的对话上下文

On this page