Skip to main content
Claude Code 从您的项目目录和主目录中的 ~/.claude 读取指令、设置、skills、subagents 和内存。将项目文件提交到 git 以与您的团队共享;~/.claude 中的文件是个人配置,适用于您的所有项目。 在 Windows 上,~/.claude 解析为 %USERPROFILE%\.claude。如果您设置了 CLAUDE_CONFIG_DIR,此页面上的每个 ~/.claude 路径都将位于该目录下。 大多数用户只编辑 CLAUDE.md 和 settings.json。如果您的存储库已经有一个 AGENTS.md 用于其他编码代理,Claude Code 可以自己读取它或与 CLAUDE.md 一起读取。目录的其余部分是可选的:根据需要添加 skills、rules 或 subagents。

探索目录

单击树中的文件以查看每个文件的作用、何时加载以及示例。

未显示的内容

浏览器涵盖您创作和编辑的文件。一些相关文件位于其他位置: ~/.claude 还保存 Claude Code 在您工作时写入的数据:记录、提示历史、文件快照、缓存和日志。请参阅下面的应用数据。

选择正确的文件

不同类型的自定义位于不同的文件中。使用此表找到更改应该放在哪里。

文件参考

此表列出浏览器涵盖的每个文件。项目范围的文件位于您的仓库中的 .claude/ 下(或 CLAUDE.md、.mcp.json 和 .worktreeinclude 的根目录)。全局范围的文件位于 ~/.claude/ 中,适用于所有项目。
有几件事可以覆盖您在这些文件中放入的内容:
  • 您的组织部署的托管设置优先于所有内容,除了设置优先级下的例外
  • CLI 标志(如 --permission-mode 或 --settings)在该会话中覆盖 settings.json
  • 某些环境变量优先于其等效设置,但这会有所不同:检查环境变量参考以了解每个变量
请参阅设置优先级以了解完整顺序。
单击文件名以在上面的浏览器中打开该节点。

按文件分类的 Frontmatter 字段

Skills、命令文件、subagents、输出样式和规则从文件顶部的 YAML frontmatter 读取其配置,每个都接受自己的一组字段。此表列出了每个文件的字段名称,并链接到描述它们的参考资料。 在 plugin 中提供的 Agents 遵守 subagent 字段的一个子集。

排查配置问题

如果设置、hook 或文件未生效,请参阅调试您的配置以获取检查命令和症状优先查找表。

应用数据

除了您创作的配置外,~/.claude 还保存 Claude Code 在会话期间写入的数据。这些文件是纯文本。通过工具传递的任何内容都会在磁盘上的记录中:文件内容、命令输出、粘贴的文本。

自动清理

Claude Code 删除下面路径中的文件,一旦它们的年龄超过 cleanupPeriodDays,只要它能安全地确定保留期。默认值为 30 天,最小值为 1;设置 0 会导致验证错误。相同的年龄截止值也适用于 孤立 worktrees 的自动删除。 sessions/ 中的会话文件、自动内存以及 Claude Desktop 和 Cowork 记录各自遵循自己的保留规则:
  • sessions/:为每个运行的会话保存一个小文件,用于检测并发会话和崩溃。它不是基于年龄的扫描的一部分:Claude Code 在其会话退出时删除每个文件,并在下次启动时清理崩溃遗留物。
  • 自动内存:扫描不删除项目 自动内存 目录中的内存文件,projects/<project>/memory/。Claude Code 仅在整个保留期内该目录为空时才删除该目录。在 v2.1.228 之前,扫描将内存目录内的文件夹视为会话数据,可能删除其下的旧文件。
  • Claude Desktop 和 Cowork 记录:Claude Code 保留您在 Claude Desktop 或 Cowork 中启动或最近继续的会话的记录,无论其年龄如何。要给这些记录设置年龄限制,请设置 desktopSessionCleanupPeriodDays。当 managed settings 设置 cleanupPeriodDays 时,Claude Code 改为在该期间后删除这些记录。需要 Claude Code v2.1.248 或更高版本;早期版本在 cleanupPeriodDays 后删除它们。
Claude Code 在这些情况下跳过基于年龄的扫描:
  • Bare mode:当您使用 --bare 运行 claude -p 时,Claude Code 不会在该会话中运行扫描。
  • 暂停扫描:如果 Claude Code 无法安全地确定保留期,它会暂停保留清理扫描;retention_sweep 事件列出每个暂停它的配置。当原因是无法读取或解析的设置文件,或 cleanupPeriodDays 或 desktopSessionCleanupPeriodDays 明确设置的设置错误时,Claude Code 也会在 /status 中显示警告,直到您修复设置错误。当 managed settings 提供 cleanupPeriodDays 时,Claude Code 在任何情况下都以 managed 值运行扫描。

会话暂存目录

暂存是 Claude Code 为 Claude 提供的每个会话目录,用于临时文件:中间结果、辅助脚本和不属于您的项目的草稿。当 Claude 说它将某些内容保存”到暂存”时,该文件就在那里。Claude 使用它而不是 /tmp,可以在其中创建、编辑和读取文件而无需权限提示。 暂存位于 Claude Code 的临时目录下,而不是 ~/.claude。找到您的平台的当前会话路径:
  • macOS:/private/tmp/claude-<uid>/<project>/<session-id>/scratchpad/
  • Linux:/tmp/claude-<uid>/<project>/<session-id>/scratchpad/,或当您的系统设置 $TMPDIR 时在其下的相同形状
  • Windows:%TEMP%\claude\<project>\<session-id>\scratchpad\
<project> 是您的工作目录路径,其中除字母和数字外的每个字符都被替换为 -,例如 -Users-you-my-project。如果您设置了 CLAUDE_CODE_TMPDIR,树会改为移动到该目录下。Hooks 接收当前会话的路径作为 scratchpad_dir。 暂存文件的生命周期与会话的记录相同:保留扫描在删除记录时删除目录,claude project purge 不会触及临时目录。因为目录位于系统临时位置下,您的操作系统也可以清除它,例如在重启时。要保留 Claude 在那里写入的内容,请要求 Claude 将其移动到您的项目中。 会话仅在以下所有条件成立时才有暂存:
  • 您使用 claude.ai 账户而不是 API 密钥登录
  • 会话使用 Anthropic API,而不是 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry
  • enableArtifact 未设置为 false

保留直到您删除它们

保留清理扫描不删除下面的路径。Claude Code 保留它们直到您删除它们,除了两个缓存在您注销时删除。 其他文件根据您使用的功能而出现。缓存和锁定文件可以安全删除。保留这些状态文件:

纯文本存储

记录和历史在静止时未加密。操作系统文件权限是唯一的保护。如果工具读取 .env 文件或命令打印凭证,该值将写入 projects/<project>/<session>.jsonl。要减少暴露:
  • 降低 cleanupPeriodDays 以缩短 Claude Code 保留记录的时间
  • 设置 desktopSessionCleanupPeriodDays 以给 Claude Desktop 和 Cowork 记录设置年龄限制
  • 设置 CLAUDE_CODE_SKIP_PROMPT_HISTORY 环境变量以跳过在任何模式下写入记录和提示历史。在非交互模式下,您可以改为在 -p 旁边传递 --no-session-persistence,或在 TypeScript Agent SDK 中设置 persistSession: false;Python SDK 没有等效选项。
  • 使用 权限规则 拒绝读取凭证文件

清除本地数据

运行 claude project purge 以删除 Claude Code 为一个项目保存的状态。它删除:
  • projects/ 下的记录和自动内存
  • 每个会话的 tasks/、debug/ 和 file-history/ 条目
  • history.jsonl 中的匹配提示行
  • ~/.claude.json 中的项目条目
您在项目会话中粘贴或附加的图像以及每个会话的 暂存 存储在 Claude Code 的临时目录下,而不是 ~/.claude,因此清除不会删除它们。保留扫描 仍会在它们的年龄超过 cleanupPeriodDays 时删除图像;清除的会话的暂存会保留,直到您删除它或您的操作系统清除临时目录。 该命令打印完整的删除计划,并在删除任何内容之前要求确认。 下面的示例使用 ~/work/my-repo 作为占位符。将其替换为您的项目的路径。如果没有状态与路径匹配,该命令打印错误并以状态 1 退出。 预览计划而不删除任何内容:
该计划列出每个匹配项及其包含的原因:
通过单个确认提示删除:
该命令打印相同的计划,然后询问 Delete 3 item(s) for /home/user/work/my-repo? This cannot be undone. [y/N] 并仅在您回答 y 时删除。 省略路径以从交互式列表中选择项目。 跳过确认提示以在脚本中使用:
传递 --all 而不是路径以一次清除所有项目的状态,这会直接删除 history.jsonl 而不是过滤它。传递 -i 以逐项逐步执行删除计划。 该命令不理会 shell-snapshots/ 和 backups/,因为这些不是项目范围的,并在计划输出中警告它们。 您也可以手动删除上面的任何应用数据路径,除了 state files to keep。新会话不受影响。下表显示您对过去会话失去的内容。 不要删除 ~/.claude.json、~/.claude/settings.json 或 ~/.claude/plugins/:这些保存您的身份验证、偏好和已安装的 plugins。