文档索引
在此获取完整文档索引:https://code.claude.com/docs/llms.txt 使用此文件发现所有可用页面,然后再进一步探索。
探索 .claude 目录
Claude Code 读取 CLAUDE.md、settings.json、hooks、skills、commands、subagents、rules 和自动记忆的位置。探索项目中的 .claude 目录和主目录中的 ~/.claude。
Claude Code 从你的项目目录和主目录中的 ~/.claude 读取指令、设置、技能、子智能体和记忆。将项目文件提交到 git 以与团队共享;~/.claude 中的文件是跨所有项目适用的个人配置。
在 Windows 上,~/.claude 解析为 %USERPROFILE%\.claude。如果你设置了 CLAUDE_CONFIG_DIR,此页面上的每个 ~/.claude 路径都位于该目录下。
大多数用户只编辑 CLAUDE.md 和 settings.json。目录的其余部分是可选的:根据需要添加技能、规则或子智能体。
探索目录
点击树中的文件查看每个文件的功能、加载时机和示例。
未显示的内容
浏览器涵盖你编写和编辑的文件。一些相关文件位于其他位置:
| 文件 | 位置 | 用途 |
|---|---|---|
managed-settings.json | 系统级,因 OS 而异 | 你无法覆盖的企业强制设置。参见服务器托管设置。 |
CLAUDE.local.md | 项目根目录 | 你对此项目的私人偏好,与 CLAUDE.md 一起加载。手动创建并添加到 .gitignore。 |
| 已安装的插件 | ~/.claude/plugins | 克隆的市场、已安装的插件版本和每个插件的数据,由 claude plugin 命令管理。孤立版本在插件更新或卸载后 7 天删除。参见插件缓存。 |
~/.claude 还保存 Claude Code 在你工作时写入的数据:转录、提示历史、文件快照、缓存和日志。参见下方的应用数据。
选择正确的文件
不同类型的自定义位于不同的文件中。使用此表查找更改应放在哪里。
| 你想要 | 编辑 | 范围 | 参考 |
|---|---|---|---|
| 给 Claude 项目上下文和约定 | CLAUDE.md | 项目或全局 | 记忆 |
| 允许或阻止特定工具调用 | settings.json permissions 或 hooks | 项目或全局 | 权限、钩子 |
| 在工具调用之前或之后运行脚本 | settings.json hooks | 项目或全局 | 钩子 |
| 为会话设置环境变量 | settings.json env | 项目或全局 | 设置 |
| 将个人覆盖排除在 git 之外 | settings.local.json | 仅项目 | 设置范围 |
添加用 /name 调用的提示或功能 | skills/<name>/SKILL.md | 项目或全局 | 技能 |
| 定义拥有自己工具的专门子智能体 | agents/*.md | 项目或全局 | 子智能体 |
| 通过 MCP 连接外部工具 | .mcp.json | 仅项目 | MCP |
| 更改 Claude 格式化响应的方式 | output-styles/*.md | 项目或全局 | 输出样式 |
文件参考
此表列出了浏览器涵盖的每个文件。项目范围的文件位于仓库中的 .claude/ 下(或对于 CLAUDE.md、.mcp.json 和 .worktreeinclude 位于根目录)。全局范围的文件位于 ~/.claude/ 中,适用于所有项目。
点击文件名可在上方的浏览器中打开该节点。
| 文件 | 范围 | 提交 | 功能 | 参考 |
|---|---|---|---|---|
CLAUDE.md | 项目和全局 | ✓ | 每次会话加载的指令 | 记忆 |
rules/*.md | 项目和全局 | ✓ | 主题限定的指令,可选择路径门控 | 规则 |
settings.json | 项目和全局 | ✓ | 权限、钩子、环境变量、模型默认值 | 设置 |
settings.local.json | 仅项目 | 你的个人覆盖,自动 gitignore | 设置范围 | |
.mcp.json | 仅项目 | ✓ | 团队共享的 MCP 服务器 | MCP 范围 |
.worktreeinclude | 仅项目 | ✓ | 要复制到新工作树中的 gitignore 文件 | 工作树 |
skills/<name>/SKILL.md | 项目和全局 | ✓ | 用 /name 调用或自动调用的可重用提示 | 技能 |
commands/*.md | 项目和全局 | ✓ | 单文件提示;与技能相同的机制 | 技能 |
output-styles/*.md | 项目和全局 | ✓ | 自定义系统提示部分 | 输出样式 |
agents/*.md | 项目和全局 | ✓ | 拥有自己提示和工具的子智能体定义 | 子智能体 |
agent-memory/<name>/ | 项目和全局 | ✓ | 子智能体的持久记忆 | 持久记忆 |
~/.claude.json | 仅全局 | 应用状态、OAuth、UI 开关、个人 MCP 服务器 | 全局配置 | |
projects/<project>/memory/ | 仅全局 | 自动记忆:Claude 跨会话给自己的笔记 | 自动记忆 | |
keybindings.json | 仅全局 | 自定义键盘快捷键 | 键绑定 | |
themes/*.json | 仅全局 | 自定义颜色主题 | 自定义主题 |
故障排除配置
如果设置、钩子或文件未生效,请参见调试你的配置了解检查命令和症状优先的查找表。
应用数据
除了你编写的配置外,~/.claude 还保存 Claude Code 在会话期间写入的数据。这些文件是纯文本。通过工具的任何内容都会落入磁盘上的转录中:文件内容、命令输出、粘贴的文本。
自动清理
以下路径中的文件在超过 cleanupPeriodDays 后会在启动时删除。默认为 30 天。
~/.claude/ 下的路径 | 内容 |
|---|---|
projects/<project>/<session>.jsonl | 完整对话转录:每条消息、工具调用和工具结果 |
projects/<project>/<session>/subagents/ | 子智能体对话转录,随父会话转录过期时一起移除 |
projects/<project>/<session>/tool-results/ | 溢出到单独文件的大型工具输出 |
file-history/<session>/ | Claude 更改的文件的编辑前快照,用于检查点恢复 |
plans/ | 计划模式期间写入的计划文件 |
debug/ | 每个会话的调试日志,仅在你使用 --debug 启动或运行 /debug 时写入 |
paste-cache/、image-cache/ | 大型粘贴和附加图片的内容 |
session-env/ | 每个会话的环境元数据 |
tasks/ | 任务工具写入的每个会话任务列表 |
shell-snapshots/ | Bash 工具使用的捕获 shell 环境。正常退出时移除。清理会清除崩溃后遗留的内容。 |
backups/ | 配置迁移前拍摄的 ~/.claude.json 带时间戳副本 |
feedback-bundles/ | /feedback 在第三方提供商上写入的编辑转录存档,用于发送给你的 Anthropic 客户团队 |
todos/、statsig/、logs/ | 旧版本的遗留目录。不再写入。清理会移除其内容然后删除空目录。 |
保留直到你删除
以下路径不被自动清理覆盖,会无限期保留。
~/.claude/ 下的路径 | 内容 |
|---|---|
history.jsonl | 你输入的每个提示,带时间戳和项目路径。用于上箭头召回。 |
stats-cache.json | /usage 显示的聚合 token 和成本计数 |
remote-settings.json | 你的组织的服务器托管设置的缓存副本。仅在你的组织配置了它们时存在。每次启动时刷新。 |
其他小型缓存和锁文件取决于你使用的功能,可以安全删除。
明文存储
转录和历史在静态时未加密。操作系统文件权限是唯一的保护。如果工具读取 .env 文件或命令打印凭据,该值会被写入 projects/<project>/<session>.jsonl。要减少暴露:
- 降低
cleanupPeriodDays以缩短转录保留时间 - 设置
CLAUDE_CODE_SKIP_PROMPT_HISTORY环境变量以跳过在任何模式下写入转录和提示历史。在非交互模式中,你可以在-p旁边传递--no-session-persistence,或在 Agent SDK 中设置persistSession: false。 - 使用权限规则拒绝读取凭据文件
清除本地数据
运行 claude project purge 删除 Claude Code 为一个项目保存的状态:
projects/下的转录和自动记忆- 每个会话的
tasks/、debug/和file-history/条目 history.jsonl中匹配的提示行~/.claude.json中的项目条目
该命令打印完整的删除计划,并在删除任何内容前要求确认。
预览计划而不删除任何内容:
claude project purge ~/work/my-repo --dry-run
使用单个确认提示删除:
claude project purge ~/work/my-repo
省略路径以从交互列表中选择项目。
跳过确认提示以在脚本中使用:
claude project purge ~/work/my-repo --yes
传递 --all 而不是路径以一次清除每个项目的状态,这会直接删除 history.jsonl 而不是过滤它。传递 -i 以逐项查看删除计划。
该命令保留 shell-snapshots/ 和 backups/ 不动,因为它们不是项目范围的,并在计划输出中警告它们。如果没有状态匹配给定路径,它以状态 1 退出。
你也可以手动删除上述任何应用数据路径。新会话不受影响。下表显示了过去会话丢失的内容。
| 删除 | 你丢失 |
|---|---|
~/.claude/projects/ | 过去会话的恢复、继续和回退 |
~/.claude/history.jsonl | 上箭头提示召回 |
~/.claude/file-history/ | 过去会话的检查点恢复 |
~/.claude/stats-cache.json | /usage 显示的历史总计 |
~/.claude/remote-settings.json | 无。下次启动时重新获取。 |
~/.claude/debug/、~/.claude/plans/、~/.claude/paste-cache/、~/.claude/image-cache/、~/.claude/session-env/、~/.claude/tasks/、~/.claude/shell-snapshots/、~/.claude/backups/ | 无用户可见内容 |
~/.claude/todos/、~/.claude/statsig/、~/.claude/logs/ | 无。当前版本不写入的遗留目录。 |
不要删除 ~/.claude.json、~/.claude/settings.json 或 ~/.claude/plugins/:它们保存你的认证、偏好和已安装的插件。
相关资源
- 管理 Claude 的记忆:编写和组织 CLAUDE.md、规则和自动记忆
- 配置设置:设置权限、钩子、环境变量和模型默认值
- 创建技能:构建可重用的提示和工作流
- 配置子智能体:定义拥有自己上下文的专门智能体