Skip to main content
本页包含三个示例 settings.json 文件,每个文件对应一个保存设置的位置:
  • 开发者的 ~/.claude/settings.json
  • 团队的 .claude/settings.json,提交到仓库
  • 组织的 managed-settings.json
每个文件都是该读者的合理文件,因此你可以看到其结构并复制你想要的部分。它们都不是推荐的基线。每个值都来自 settings reference 上的键条目,该条目包含其类型、默认值和可以设置的位置。 每个示例有两个选项卡。Copyable settings file 是你保存的文件。What each key does 是同一个文件,每个键上方都有注释;Claude Code 不接受设置文件中的注释,因此请从第一个选项卡复制。

你自己的设置

一个开发者的个人设置。它选择一个模型和工作量级别,调整终端,并预先批准一个只读命令和一个文件读取。未列出的所有内容都保持其默认值。这样的文件放在 ~/.claude/settings.json 中,它适用于你打开的每个项目。
将其保存为 ~/.claude/settings.json。这是有效的 JSON,没有注释,因此你可以按原样粘贴它并删除你不想要的键。
~/.claude/settings.json

团队的共享设置

一个团队的共享设置,提交到仓库,以便克隆它的每个人都获得相同的权限、hooks 和插件市场。在仓库顶部的 .claude/settings.json 处保存这样的文件。在提交之前需要了解的内容:
  • 云会话也会读取它。 Claude Code 网页版上的 cloud session 从仓库的克隆开始,因此提交的文件也适用于那里。
  • 遥测数据放在托管或个人设置中。 Claude Code 忽略仓库设置文件中的 OpenTelemetry 导出器变量,除了一些关闭遥测的值。在 托管设置 中为你的组织设置它们,或在每个人的 ~/.claude/settings.json 中设置。
  • Allow 规则等待信任。 Allow 规则和 extraKnownMarketplaces 条目在每个人 信任此文件夹本身 后生效,而不仅仅是父文件夹;deny 和 ask 规则在每个会话中应用,无论是否受信任。
  • hook 是仓库中的脚本。 此文件的 hook 运行 .claude/hooks/block-rm.sh;How a hook resolves 介绍了如何编写它。
  • 规则匹配按写入的命令和路径。 Bash(git push *) 不匹配 git -C . push。Read(./.env) 单独停止文件工具和命名文件的命令,例如 cat .env,但不停止 grep -r 在目录上运行;此文件中的 sandbox 块关闭了该间隙,因为 sandbox 添加你的 Read deny 路径 到每个沙箱命令无法读取的内容。
将其保存为仓库顶部的 .claude/settings.json 并提交。这是有效的 JSON,没有注释,因此你可以按原样粘贴它并删除你不想要的键。
.claude/settings.json

组织的托管设置

一个 managed-settings.json 文件,显示托管键的形状,每个键都有一个合理的值。这不是推荐的策略:选择与你自己的要求相匹配的键并设置你自己的值。该示例设置这些键:
  • forceLoginMethod 和 forceLoginOrgUUID 固定登录方法和组织
  • availableModels 和 enforceAvailableModels 限制会话可以使用的模型
  • permissions.deny 拒绝两个文件读取和 curl 命令 如 Claude 编写的那样,disableBypassPermissionsMode 删除绕过权限模式
  • allowManagedPermissionRulesOnly 和 allowManagedMcpServersOnly 使托管权限和 MCP 允许列表成为唯一适用的列表
  • allowedMcpServers 通过 URL 固定 MCP 服务器
  • strictKnownMarketplaces 允许一个插件市场
  • sandbox 使用固定的网络允许列表对命令进行沙箱处理,无需无沙箱重试。其 failIfUnavailable 键会在沙箱无法运行的环境中阻止 Claude Code 启动
  • requiredMinimumVersion 设置最低 Claude Code 版本
  • cleanupPeriodDays 将会话记录和其他本地数据的保留期缩短为七天
  • companyAnnouncements 在启动时显示消息
管理员将这样的文件部署为 managed-settings.json,或通过 MDM 或 server-managed settings 部署相同的 JSON。一个部署的文件适用于它到达的每台机器或帐户。要为一个组提供不同的值,请将不同的文件或配置文件部署到该组,因为 server-managed settings 还不支持按组策略。
将其部署为 managed-settings.json,或通过 MDM 或 claude.ai 控制台部署相同的 JSON。这是有效的 JSON,没有注释;将示例组织 UUID、服务器 URL 和市场替换为你自己的,并删除你不想要的键。
managed-settings.json