Claude Code Docs 主页!图片 1:光徽标!图2:黑暗标志
⌘K问AI
克劳德开发者平台 网络上的克劳德代码
配置
克劳德·代码设定
入门与 Claude 一起构建代码部署管理配置参考什么新资源
配置
使用全局和项目级设置以及环境变量配置 Claude Code。
Claude Code 提供了多种设置来配置其行为以满足您的需求。您可以在使用交互式 REPL 时通过运行“/config”命令来配置 Claude Code,该命令会打开一个选项卡式“设置”界面,您可以在其中查看状态信息并修改配置选项。
配置范围
Claude Code 使用 范围系统 来确定配置的应用范围以及配置的共享对象。了解范围有助于您决定如何配置 Claude Code 以供个人使用、团队协作或企业部署。
可用范围
| 范围 | 地点 | 它影响谁 | 与团队共享? |
|---|---|---|---|
| 管理 | 服务器管理的设置、plist / 注册表或系统级 managed-settings.json | 机器上的所有用户 | 是(由 IT 部署) |
| 用户 | ~/.claude/ 目录 | 您,跨所有项目 | 没有 |
| 项目 | 存储库中的.claude/ | 此存储库上的所有协作者 | 是(致力于 git) |
| 本地 | .claude/settings.local.json | 仅限您在这个存储库中 | 否(忽略) |
何时使用每个范围
管理范围适用于: 必须在整个组织范围内执行的安全策略 无法推翻的合规要求 IT/DevOps 部署的标准化配置
用户范围最适合: 你想要的个人偏好随处可见(主题、编辑器设置) 您在所有项目中使用的工具和插件 API密钥和身份验证(安全存储)
项目范围最适合: 团队共享设置(权限、挂钩、MCP 服务器) 整个团队应该拥有的插件 跨协作者标准化工具
本地范围最适合: 特定项目的个人覆盖 在与团队共享之前测试配置 机器特定的设置不适用于其他机器
示波器如何交互
当在多个范围中配置相同的设置时,更具体的范围优先:
例如,如果某个权限在用户设置中允许,但在项目设置中拒绝,则项目设置优先,并且该权限被阻止。
什么用途范围
范围适用于许多 Claude Code 功能:
| 特色 | 用户位置 | 项目地点 | 本地位置 |
|---|---|---|---|
| 设置 | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| 子代理 | ~/.claude/agents/ | .claude/agents/ | 无 |
| MCP 服务器 | ~/.claude.json | .mcp.json | ~/.claude.json(每个项目) |
| 插件 | ~/.claude/settings.json | .claude/settings.json | .claude/settings.local.json |
| 克劳德.md | ~/.claude/CLAUDE.md | CLAUDE.md 或 .claude/CLAUDE.md | CLAUDE.local.md |
设置文件
settings.json 文件是通过分层设置配置 Claude Code 的官方机制:
用户设置 在 ~/.claude/settings.json 中定义并适用于所有项目。
项目设置保存在您的项目目录中:
.claude/settings.json 用于签入源代码管理并与您的团队共享的设置
.claude/settings.local.json 用于未签入的设置,对于个人喜好和实验很有用。 Claude Code 将配置 git 在创建时忽略 .claude/settings.local.json。
托管设置:对于需要集中控制的组织,Claude Code 支持托管设置的多种交付机制。全部使用相同的 JSON 格式,并且不能被用户或项目设置覆盖:
服务器管理设置:通过 Claude.ai 管理控制台从 Anthropic 的服务器提供。请参阅服务器管理设置。
MDM/操作系统级策略:通过 macOS 和 Windows 上的本机设备管理提供:
macOS:“com.anthropic.claudecode”托管首选项域(通过 Jamf、Kandji 或其他 MDM 工具中的配置文件进行部署)
Windows:“HKLM\SOFTWARE\Policies\ClaudeCode”注册表项,其中“Settings”值(REG_SZ 或 REG_EXPAND_SZ)包含 JSON(通过组策略或 Intune 部署)
Windows(用户级):HKCU\SOFTWARE\Policies\ClaudeCode(最低策略优先级,仅在不存在管理级源时使用)
基于文件:management-settings.json 和 management-mcp.json 部署到系统目录:
macOS:/Library/Application Support/ClaudeCode/
Linux 和 WSL:/etc/claude-code/
Windows: C:\Program Files\ClaudeCode\
从 v2.1.75 开始,不再支持旧版 Windows 路径“C:\ProgramData\ClaudeCode\managed-settings.json”。将设置部署到该位置的管理员必须将文件迁移到“C:\Program Files\ClaudeCode\managed-settings.json”。
基于文件的托管设置还支持位于同一系统目录中的“management-settings.d/”的插入目录以及“management-settings.json”。这使得不同的团队可以部署独立的策略片段,而无需协调对单个文件的编辑。按照 systemd 约定,首先将“managed-settings.json”合并为基础,然后将放置目录中的所有“*.json”文件按字母顺序排序并合并在顶部。后面的文件会覆盖前面的标量值;数组被连接并去重;对象是深度合并的。以“.”开头的隐藏文件将被忽略。使用数字前缀来控制合并顺序,例如“10-telemetry.json”和“20-security.json”。
有关详细信息,请参阅托管设置和托管 MCP 配置。
托管部署还可以使用“strictKnownMarketplaces”限制插件市场添加。有关更多信息,请参阅托管市场限制。
其他配置存储在~/.claude.json中。此文件包含您的首选项(主题、通知设置、编辑器模式)、OAuth 会话、用户和本地范围的 MCP 服务器 配置、每个项目状态(允许的工具、信任设置)以及各种缓存。项目范围的 MCP 服务器单独存储在“.mcp.json”中。
Claude Code 自动创建带时间戳的配置文件备份,并保留五个最近的备份以防止数据丢失。
示例 settings.json
"$schema": "https://json.schemastore.org/claude-code-settings.json", “权限”:{ “允许”:[ “Bash(npm run lint)”, “Bash(npm运行测试*)”, “读取(~/.zshrc)” ], “否认”:[ “重击(卷曲*)”, “读取(./.env)”, “读取(./.env.*)”, “阅读(./secrets/**)” }, “环境”:{ "CLAUDE_CODE_ENABLE_TELEMETRY": "1", "OTEL_METRICS_EXPORTER": "otlp" }, “公司公告”:[ “欢迎来到 Acme Corp!请访问 docs.acme.com 查看我们的代码指南”, “提醒:所有 PR 都需要进行代码审查”, “新安全政策生效”
上例中的“$schema”行指向 Claude Code 设置的官方 JSON 架构。将其添加到“settings.json”可在 VS Code、Cursor 和任何其他支持 JSON 架构验证的编辑器中启用自动完成和内联验证。
可用设置
settings.json 支持许多选项:
| 关键 | 描述 | 示例 |
|---|---|---|
代理 | 作为命名子代理运行主线程。应用该子代理的系统提示、工具限制和模型。请参阅显式调用子代理 | “代码审阅者” |
allowedChannelPlugins | (仅限托管设置)可以推送消息的通道插件的白名单。设置后替换默认的 Anthropic 允许列表。未定义 = 回退到默认值,空数组 = 阻止所有通道插件。需要 channelsEnabled: true。请参阅限制哪些频道插件可以运行 | [{ "marketplace": "claude-plugins-official", "plugin": "telegram" }] |
allowedHttpHookUrls | HTTP 挂钩可能针对的 URL 模式白名单。支持“*”作为通配符。设置后,具有不匹配 URL 的挂钩将被阻止。未定义 = 无限制,空数组 = 阻止所有 HTTP 挂钩。数组跨设置源合并。参见Hook配置 | ["https://hooks.example.com/*"] |
allowedMcpServers | 当在 Managed-s 中设置时 |
ettings.json,用户可以配置的 MCP 服务器的白名单。未定义 = 无限制,空数组 = 锁定。适用于所有范围。拒绝者优先。请参阅托管 MCP 配置 | [{ "serverName": "github" }] |
| allowManagedHooksOnly | (仅限托管设置)防止加载用户、项目和插件挂钩。仅允许托管挂钩和 SDK 挂钩。参见Hook配置 | 真实 |
| allowManagedMcpServersOnly | (仅限托管设置)仅考虑托管设置中的“allowedMcpServers”。 deniedMcpServers 仍然从所有来源合并。用户仍然可以添加 MCP 服务器,但仅适用管理员定义的允许列表。请参阅托管 MCP 配置 | 真实 |
| allowManagedPermissionRulesOnly | (仅限托管设置)阻止用户和项目设置定义“允许”、“询问”或“拒绝”权限规则。仅适用托管设置中的规则。请参阅仅限托管设置 | 真实 |
| ``总是在思考
已启用|默认情况下为所有会话启用扩展思维。通常通过/config命令进行配置,而不是直接编辑 |真实| |apiKeyHelper|自定义脚本,在“/bin/sh”中执行,以生成身份验证值。该值将作为模型请求的“X-Api-Key”和“Authorization: Bearer”标头发送 |/bin/generate_temp_api_key.sh| |归属|自定义 git 提交和拉取请求的归因。请参阅归因设置 |{"commit": "🤖 由 Claude 代码生成", "pr": ""}| |autoMemoryDirectory | 自动内存存储的自定义目录。接受“~/”扩展路径。在项目设置(.claude/settings.json)中不接受,以防止共享存储库将内存写入重定向到敏感位置。从策略、本地和用户设置接受 | "~/我的内存目录"| |自动模式` |自定义自动模式分类器阻止和分配的内容
ws。包含散文规则的“environment”、“allow”和“soft_deny”数组。请参阅配置自动模式分类器。未从共享项目设置中读取 | {"environment": ["受信任的存储库:github.example.com/acme"]} |
| 自动更新频道 |发布频道以获取更新。对于通常大约一周前的版本使用“稳定”,并跳过具有重大回归的版本,对于最新版本使用“最新”(默认)| “稳定” |
| 可用模型 |限制用户可以通过/model、--model、配置工具或ANTHROPIC_MODEL选择哪些模型。不影响默认选项。请参阅限制模型选择 | [“十四行诗”,“俳句”] |
| awsCredentialExport |使用 AWS 凭证输出 JSON 的自定义脚本(请参阅高级凭证配置) | /bin/generate_aws_grant.sh |
| 被封锁的市场 | (仅限托管设置)市场来源的阻止列表。在下载之前会检查被阻止的源,因此它们永远不会触及文件系统。请参阅托管市场限制 | [{ "source": "github", "repo": "untrusted/plugins" }] |
| 通道已启用 | (仅限托管设置)允许团队和企业用户使用频道。未设置或“false”会阻止通道消息传递,无论用户传递给“--channels”的内容如何 | 真实 |
| cleanupPeriodDays |超过此时间段不活动的会话将在启动时删除(默认值:30 天,最少 1 天)。设置为“0”会被拒绝并出现验证错误。还控制启动时自动删除孤立子代理工作树 的年龄截止。要完全在非交互模式 (-p) 下禁用脚本写入,请使用 --no-session-persistence 标志或 persistSession: false SDK 选项;没有互动-
模式等效。 | 20 |
| 公司公告 |启动时向用户显示的公告。如果提供多个公告,它们将随机循环。 | [“欢迎来到 Acme Corp!请在 docs.acme.com 查看我们的代码指南”] |
| defaultShell |输入框 ! 命令的默认 shell。接受“bash”(默认)或“powershell”。设置 "powershell" 通过 Windows 上的 PowerShell 路由交互式 ! 命令。需要 CLAUDE_CODE_USE_POWERSHELL_TOOL=1。请参阅 PowerShell 工具 | “powershell” |
| deniedMcpServers |在 Managed-settings.json 中设置时,明确阻止的 MCP 服务器的拒绝名单。适用于所有范围,包括托管服务器。拒绝名单优先于允许名单。请参阅托管 MCP 配置 | [{ "serverName": "文件系统" }] |
| disableAllHooks |禁用所有hooks 和任何自定义状态行 | 真实 |
| 禁用自动模式 |设置为“禁用”以防止自动模式 被激活。从“Shift+Tab”循环中删除“auto”,并在启动时拒绝“--permission-mode auto”。在用户无法覆盖它的托管设置 中最有用 | “禁用” |
| 禁用 DeepLinkRegistration |设置为“disable”以防止 Claude Code 在启动时向操作系统注册“claude-cli://”协议处理程序。深层链接允许外部工具通过“claude-cli://open?q=...”打开带有预填充提示的 Claude Code 会话。 q 参数支持使用 URL 编码换行符 (%0A) 的多行提示。在协议处理程序注册受到限制或单独管理的环境中很有用 | “禁用” |
| disabledMcpjsonServers |要拒绝的“.mcp.json”文件中的特定 MCP 服务器列表 | ["文件系统"] |
| disableSkillShellExecution |禁用 skills 中的 !...`` 和 ````!` 块以及来自用户、项目、插件或其他目录源的自定义命令的内联 shell 执行。命令被替换为“[shell 命令执行被策略禁用]”,而不是
跑步。捆绑和管理的技能不受影响。在用户无法覆盖它的托管设置 中最有用 | 真实 |
| 努力水平 |在会话中保持工作量级别。接受“低”、“中”或“高”。当您运行“/effort low”、“/effortmedium”或“/effort high”时自动写入。 Opus 4.6 和 Sonnet 4.6 支持 | “中” |
| enableAllProjectMcpServers |自动机