Chat Mode 是 Claude Code 的一个沙箱技能,提供安全的只读环境。进入该模式后,所有写操作(创建、编辑、删除文件)都会被重定向到临时目录,不会对当前工作目录产生任何影响。
适用于以下场景:
- 🔍 纯咨询、知识问答
- 👀 代码审查(只读浏览)
- 📖 文档阅读
- 🧪 临时测试输出
- ❓ 不确定是否需要修改文件的探索性操作
在 Claude Code 中输入以下任一命令即可进入:
/chat
或者:
chat模式
聊天模式
开启聊天
开启沙箱
进入后,Claude 会创建一个临时目录并告知你路径:
[💬 聊天模式]
已进入 Chat Mode。临时目录:/tmp/chat-mode.XXXX1234
输入以下任一命令退出:
exit chat
退出聊天
exit chat mode
退出时,Claude 会列出所有临时文件,询问你确认删除后再清理。
| 操作 | 说明 |
|---|---|
| 读取文件 | cat、Read 工具 |
| 搜索浏览 | grep、find、ls |
| 查看 Git 状态 | git log、git diff、git status |
| 运行无副作用的命令 | 不产生持久化文件的命令 |
| 操作 | 说明 |
|---|---|
| 创建文件 | 不允许在工作目录下新建文件 |
| 编辑文件 | 不允许修改工作目录下的任何文件 |
| 删除文件 | 不允许删除工作目录中的任何文件 |
| 破坏性 Git 操作 | git checkout、git reset 等 |
如果需要在 Chat Mode 中产生输出文件:
- 文件会被写入临时目录(如
/tmp/chat-mode.XXXX/output.txt) - 你会收到文件实际保存位置的通知
- 如果要求保存到工作目录,Claude 会拒绝并说明原因
有哪些临时文件
列出临时文件
查看临时文件
显示所有由 Chat Mode 创建的临时目录及其大小、文件数量和修改时间。
清理临时文件
清空临时文件
删除所有临时文件
清理除当前 Chat Mode 会话外的所有历史临时文件。
┌─────────────────────────────────────────────────┐
│ 进入 Chat Mode │
│ /chat / 聊天模式 / 开启沙箱 │
└────────────────────┬────────────────────────────┘
▼
┌─────────────────────────────────────────────────┐
│ 安全只读操作 │
│ 读取文件 / 搜索代码 / 查看日志 / 咨询问题 │
└────────────────────┬────────────────────────────┘
▼
┌──────────────┴──────────────┐
▼ ▼
┌─────────────┐ ┌─────────────────────┐
│ 仅咨询浏览 │ │ 需要产生输出文件 │
│ 直接退出 │ │ 写入临时目录后退出 │
└─────────────┘ └─────────────────────┘
▼ ▼
┌─────────────────────────────────────────────────┐
│ 退出 Chat Mode │
│ 列出文件 → 确认删除 → 清理完毕 │
└─────────────────────────────────────────────────┘
Chat Mode 设计了多层安全防护,防止误操作:
- 路径校验 — 删除临时目录前检查路径是否以
/tmp/chat-mode.开头 - 空值保护 — 如果
$TEMP_DIR变量为空,禁止任何删除操作 - 确认机制 — 退出时展示文件清单,需用户确认后才执行清理
- 范围限定 — 严格限定在临时目录内操作,不涉及工作目录
是的,退出时如果你没有确认删除,临时目录会保留在磁盘上。你可以下次进入 Chat Mode 后用「清理临时文件」命令清理。
不会。Chat Mode 的核心约束就是不对当前工作目录做任何修改。所有写操作都被拦截或重定向到临时目录。
可以。每次进入都会创建独立的临时目录,互不干扰。
保存在 /tmp/chat-mode.XXXXXXXX 格式的目录中,系统重启后会自动清理。
MIT License © 2025