SpyBara
Go Premium

settings-example.md 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

This page contains 7 additions and 3 deletions.

2026
Sat 12 03:02 Tue 22 23:59 Fri 25 23:58

示例设置文件

为开发者、团队和组织提供的现实 settings.json 文件:复制一个,保留你想要的键,并更改值。

本页包含三个示例 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,没有注释,因此你可以按原样粘贴它并删除你不想要的键。

{
"model": "claude-sonnet-5",
"modelSettings": {
"claude-sonnet-5": { "effortLevel": "xhigh" }
},
"editorMode": "vim",
"theme": "light-daltonized",
"statusLine": {
"type": "command",
"command": "jq -r '\"[\\(.model.display_name)] \\(.context_window.used_percentage // 0)% context\"'",
"padding": 2
},
"spinnerTipsEnabled": false,
"preferredNotifChannel": "terminal_bell",
"permissions": {
"allow": [
"Bash(git diff *)",
"Read(~/.zshrc)"
]
},
"autoUpdatesChannel": "stable",
"cleanupPeriodDays": 20
}

团队的共享设置

一个团队的共享设置,提交到仓库,以便克隆它的每个人都获得相同的权限、hooks、遥测和插件市场。在仓库顶部的 .claude/settings.json 处保存这样的文件。在提交之前需要了解的内容:

  • 云会话也会读取它。 Claude Code 网页版上的 cloud session 从仓库的克隆开始,因此提交的文件也适用于那里。
  • 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,没有注释,因此你可以按原样粘贴它并删除你不想要的键。

{
"permissions": {
"allow": [
"Bash(npm run *)"
],
"ask": [
"Bash(git push *)"
],
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./secrets/**)"
]
},
"env": {
"CLAUDE_CODE_ENABLE_TELEMETRY": "1",
"OTEL_METRICS_EXPORTER": "otlp",
"OTEL_EXPORTER_OTLP_PROTOCOL": "grpc",
"OTEL_EXPORTER_OTLP_ENDPOINT": "http://collector.example.com:4317"
},
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": "${CLAUDE_PROJECT_DIR}/.claude/hooks/block-rm.sh"
}
]
}
]
},
"extraKnownMarketplaces": {
"acme-tools": {
"source": {
"source": "github",
"repo": "acme-corp/claude-plugins"
}
}
},
"enabledPlugins": {
"code-formatter@acme-tools": true
},
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": [
"/tmp/build"
]
},
"network": {
"allowedDomains": [
"registry.npmjs.org",
"*.example.com"
]
}
},
"plansDirectory": "./plans"
}

组织的托管设置

一个 managed-settings.json 文件,显示托管键的形状,每个键都有一个合理的值。这不是推荐的策略:选择与你自己的要求相匹配的键并设置你自己的值。该示例设置这些键:

  • forceLoginMethod 和 forceLoginOrgUUID 固定登录方法和组织
  • availableModels 和 enforceAvailableModels 限制会话可以使用的模型
  • permissions.deny 拒绝两个文件读取和 curl 命令 如 Claude 编写的那样,disableBypassPermissionsMode 删除绕过权限模式
  • allowManagedPermissionRulesOnly 和 allowManagedMcpServersOnly 使托管权限和 MCP 允许列表成为唯一适用的列表
  • allowedMcpServers 通过 URL 固定 MCP 服务器
  • strictKnownMarketplaces 允许一个插件市场
  • sandbox 使用固定的网络允许列表对命令进行沙箱处理,无需无沙箱重试
  • 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 和市场替换为你自己的,并删除你不想要的键。

{
"forceLoginMethod": "claudeai",
"forceLoginOrgUUID": [
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
],
"availableModels": [
"opus",
"sonnet"
],
"enforceAvailableModels": true,
"permissions": {
"deny": [
"Bash(curl *)",
"Read(./.env)",
"Read(./secrets/**)"
],
"disableBypassPermissionsMode": "disable"
},
"allowManagedPermissionRulesOnly": true,
"allowedMcpServers": [
{
"serverUrl": "https://api.githubcopilot.com/*"
}
],
"allowManagedMcpServersOnly": true,
"strictKnownMarketplaces": [
{
"source": "github",
"repo": "acme-corp/approved-plugins"
}
],
"sandbox": {
"enabled": true,
"failIfUnavailable": true,
"allowUnsandboxedCommands": false,
"network": {
"allowedDomains": [
"registry.npmjs.org",
"github.com"
],
"allowManagedDomainsOnly": true
}
},
"requiredMinimumVersion": "2.1.150",
"cleanupPeriodDays": 7,
"companyAnnouncements": [
"Welcome to Acme Corp! Review our code guidelines at docs.example.com"
]
}