接入教程

Claude Code 配置文件位置:每个文件在 macOS、Linux、Windows 上的路径(2026)

Mara Lindqvist

Claude Code 最主要的配置文件是 ~/.claude/settings.json,也就是对你所有项目生效的用户级设置。每个项目还可以有 .claude/settings.json(团队共享、提交进 git)和 .claude/settings.local.json(个人使用、不提交)。此外,Claude Code 会用 ~/.claude.json 保存登录状态和 MCP 服务器,企业还可以在系统目录下部署 managed-settings.json。在 Windows 上,~ 指的是 %USERPROFILE%。

下面把所有配置文件位置集中列在一处,路径因操作系统而不同的也分别列出。所有路径均出自 Claude Code 官方文档 code.claude.com(settings、.claude 目录参考、memory、MCP 与认证相关页面),核实日期 2026-09-26。

Claude Code 配置文件位置一览

文件

位置

存什么

要不要提交 git

用户设置

~/.claude/settings.json

对所有项目生效的默认值:模型、权限、hooks、env 环境变量

不涉及,它不在仓库里

共享项目设置

项目内 .claude/settings.json

团队的权限规则、hooks、插件、项目需要的环境变量

要

本地项目设置

项目内 .claude/settings.local.json

你个人在单个项目里的覆盖项

不要

托管设置

系统目录下的 managed-settings.json(路径见下文)

企业策略,用户文件无法覆盖

由 IT 部署

全局配置

~/.claude.json

登录会话、user 与 local 作用域的 MCP 服务器、各项目状态、/config 开关

不要

项目 MCP 服务器

项目根目录 .mcp.json

团队共享的 MCP 服务器

要

指令文件

~/.claude/CLAUDE.md、./CLAUDE.md 或 ./.claude/CLAUDE.md

每次会话都会加载的上下文与约定

项目级的要

登录凭据

macOS 钥匙串,或 ~/.claude/.credentials.json

你的登录信息

永远不要

表中 ~/.claude 指家目录下的 .claude 文件夹,不带 ~ 的 .claude 指项目内的那个文件夹。

settings 配置文件:用户、项目、本地、托管四层

大多数人找的「配置文件」其实就是 settings.json,而它一共有四处。

  • 用户级:~/.claude/settings.json。 对你在这台机器上的所有项目生效。你第一次在 /config 里改一个存到用户设置的选项(比如主题)时,Claude Code 会创建它;用 /model 选默认模型时也会写到这里。
  • 共享项目级:.claude/settings.json。 放在仓库里,设计上就是要提交的,这样每个克隆仓库的人都拿到同一套权限和 hooks。
  • 本地项目级:.claude/settings.local.json。 你在单个项目里的个人覆盖。如果是 Claude Code 自己写的这个文件(比如你在权限弹窗里选了「Yes, and don't ask again」),它会把该文件加入你的全局 git 排除列表;如果是你手动创建的,需要自己加进 .gitignore。
  • 托管级:managed-settings.json。 由管理员部署。基于文件的部署位置随操作系统而不同:

操作系统

托管设置路径

macOS

/Library/Application Support/ClaudeCode/managed-settings.json

Linux 与 WSL

/etc/claude-code/managed-settings.json

Windows

C:\Program Files\ClaudeCode\managed-settings.json

官方文档特别说明,Claude Code 不再读取旧的 Windows 路径 C:\ProgramData\ClaudeCode\managed-settings.json。托管策略也可能通过 MDM 或服务端托管设置下发,这种情况下磁盘上可能根本没有这个文件。

同一个键在多个文件里都设置时,优先级从高到低是:托管设置、命令行参数、本地项目设置、共享项目设置、用户设置。各文件是按键合并的,而不是整份替换,细节见 Claude Code 配置:分几层、怎么合并。

~/.claude.json:全局配置文件

~/.claude.json 位于家目录下,和 ~/.claude 文件夹并列,而不在它里面。它由 Claude Code 自己写入,官方文档说你不需要手动编辑。里面保存:

  • 你的登录会话;
  • user 与 local 作用域的 MCP 服务器配置;
  • 各项目的状态,比如信任决定;
  • /config 替你写入的全局配置键。

如果这个文件无法解析,Claude Code 会把损坏的版本复制到 ~/.claude/backups/,并询问你是手动修复还是重置。最近的备份也保存在同一个文件夹里,所以改坏了也能恢复。

MCP 服务器配置存在哪里

MCP 服务器不在 settings.json 里配置。存放位置取决于你添加时选的作用域:

  • project 作用域: 项目根目录的 .mcp.json,通过版本控制与所有人共享。
  • local 作用域(claude mcp add 的默认值)和 user 作用域: 存在 ~/.claude.json 里。
  • 托管: 与 managed-settings.json 同一系统目录下的 managed-mcp.json。

提交进仓库的 .mcp.json 里如果带着可用的 token,就等于 token 泄露了,所以凭据要放在 local 或 user 作用域。

CLAUDE.md 等指令文件的位置

指令文件与 settings 是两套东西。memory 文档列出的位置如下:

作用域

位置

用户

~/.claude/CLAUDE.md

项目

./CLAUDE.md 或 ./.claude/CLAUDE.md

托管,macOS

/Library/Application Support/ClaudeCode/CLAUDE.md

托管,Linux 与 WSL

/etc/claude-code/CLAUDE.md

托管,Windows

C:\Program Files\ClaudeCode\CLAUDE.md

Claude Code 把登录凭据存在哪

按认证文档:

  • macOS: 加密的 macOS 钥匙串。如果钥匙串拒绝写入(比如在 SSH 会话里处于锁定状态),Claude Code 会退而写到 ~/.claude/.credentials.json,文件权限 0600。
  • Linux: ~/.claude/.credentials.json,文件权限 0600。
  • Windows: %USERPROFILE%\.claude\.credentials.json,沿用用户目录的访问控制,默认只有你的账户能读。

这些文件通过 /login 和 /logout 管理。如果你要把请求路由到自定义端点,官方文档建议用 ANTHROPIC_BASE_URL 环境变量,而不是去改凭据文件,见 Claude Code 代理配置。

~/.claude 下的其他文件

.claude 目录参考还列出了以下文件,它们可以放在 ~/.claude/(全局)或项目的 .claude/ 文件夹里:

  • skills/<name>/SKILL.md 与 commands/*.md:用 /name 调用的提示
  • agents/*.md:子代理定义
  • output-styles/*.md:回答风格指令
  • rules/*.md:按主题划分的指令
  • keybindings.json 与 themes/*.json:仅全局
  • projects/<project>/memory/:自动记忆,仅全局

会话记录等应用数据也保存在 ~/.claude 下,都是明文。

用 CLAUDE_CONFIG_DIR 换配置目录

设置环境变量 CLAUDE_CONFIG_DIR,可以把家目录下的这些文件放到别处。之后 Claude Code 会把设置、会话历史和插件都存到那个目录,.credentials.json 也会跟着放在该目录下。项目级和本地级 settings 文件不能设置这个变量,所以要在启动 Claude Code 的 shell 里 export。

怎么确认实际生效的是哪个文件

知道路径只是一半,另一半是确认你写的值确实在用。

  1. 在 Claude Code 里运行 /status,其中 Setting sources 一行会列出对你生效的托管来源(如果有的话)。
  2. settings 文件是严格 JSON。多一个尾逗号或写了 // 注释,文件就无效,Claude Code 会在下次启动时报 Settings Error。
  3. Claude Code 会在大多数 settings 修改后自动重新加载,不必重启;但有少数键只在会话开始时读取。拿不准就开一个新会话。
  4. 非交互的 -p 运行似乎忽略了某个设置时,运行 claude doctor 看它丢掉了什么。

常见问题

Windows 上 Claude Code 的配置文件在哪?

用户设置在 %USERPROFILE%\.claude\settings.json,项目文件在项目的 .claude 文件夹里。托管设置在 C:\Program Files\ClaudeCode\managed-settings.json。

Claude Code 的 MCP 服务器配置存在哪个文件?

project 作用域的服务器在项目根目录的 .mcp.json;local 与 user 作用域的服务器存在 ~/.claude.json,不在 settings.json 里。

Claude Code 有没有 config.json?

官方文件参考里没有列出这个文件。实际的配置文件是 settings.json(用户级与共享项目级)、settings.local.json、由企业部署的 managed-settings.json,以及全局的 ~/.claude.json。

为什么改了 settings.json 却没生效?

通常是同一个键在优先级更高的文件里也设置了,比如本地项目设置或托管设置;或者文件不是合法的 JSON。用 /status 看实际生效的来源,别只重读你改的那个文件。

把网关配置写进正确的文件

如果你通过中转端点使用 Claude Code,base URL 和凭据应写进 ~/.claude/settings.json 的 env 块(对所有项目生效),或 .claude/settings.local.json(只对一个项目生效),不要写进会提交的 .claude/settings.json。ROIBest AI 提供 Anthropic 兼容与 OpenAI 兼容端点,可以按这种方式接入;换端点之后哪些能力会变化,见 Claude Code 换用其他模型。