Skip to content

17. 配置文件详解

本章你将学到

  • 所有配置文件的位置和用途
  • settings.json 的完整字段说明
  • 环境变量配置方法
  • 配置优先级和加载顺序

17.1 配置文件总览

文件位置用途优先级
~/.claude/settings.json用户主目录全局默认配置
~/.claude.json用户主目录账号认证信息
.claude/settings.json项目根目录项目级配置
.mcp.json项目根目录MCP 服务器定义按需
CLAUDE.md项目根目录会话指令(AI 读取)会话级
CLAUDE.local.md项目根目录本地私有指令最高

17.2 settings.json 完整字段

json
{
  // ── 模型 ──────────────────────────────────────────
  "model": "sonnet",
  // 可用值:sonnet, opus, haiku,或完整模型 ID

  "modelOverrides": {
    "sonnet": "claude-sonnet-4-6",
    "opus": "claude-opus-4-7"
  },

  // ── API 连接 ───────────────────────────────────────
  "apiBase": "https://api.anthropic.com",
  // 国内用户可配置代理:https://api.siliconflow.cn/v1

  "apiKey": "${ANTHROPIC_API_KEY}",
  // 建议用环境变量,不要直接写入

  // ── 权限 ───────────────────────────────────────────
  "permissions": {
    "allow": [
      "Bash(git:*)",
      "Bash(npm run *)",
      "Read",
      "Write"
    ],
    "deny": [
      "Bash(sudo *)",
      "Bash(rm -rf *)",
      "Bash(git push --force *)"
    ],
    "autoApprove": false
  },

  // ── MCP 服务器 ──────────────────────────────────────
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
    }
  },

  // ── 钩子 ────────────────────────────────────────────
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Write|Edit",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write \"$FILE_PATH\"",
            "timeout": 30
          }
        ]
      }
    ]
  },

  // ── 编辑器 ──────────────────────────────────────────
  "editor": {
    "name": "code",
    "formatOnSave": true
  },

  // ── 终端 ────────────────────────────────────────────
  "terminal": {
    "shell": "/bin/bash",
    "timeout": 30000
  },

  // ── 功能开关 ────────────────────────────────────────
  "autoMemoryEnabled": true,
  "disableAllHooks": false,

  // ── 环境变量(会被合并到 Claude 执行的所有命令环境中)
  "env": {
    "NODE_ENV": "development",
    "USE_BUILTIN_RIPGREP": "0"
  }
}

17.3 模型配置详解

bash
# settings.json 方式
{
  "model": "sonnet",
  "modelOverrides": {
    "sonnet": "claude-sonnet-4-6-20251001"
  }
}

# 环境变量方式(更高优先级)
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6-20251001
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7-20251001
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5-20251001

# 在 /model 选择器中添加自定义模型
export ANTHROPIC_CUSTOM_MODEL_OPTION=provider/my-custom-model
export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME=我的定制模型
export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION=针对代码审查优化的版本

17.4 核心环境变量

变量名说明示例值
ANTHROPIC_API_KEYAPI 密钥sk-ant-...
ANTHROPIC_API_BASEAPI 端点(配置代理时修改)https://api.anthropic.com
ANTHROPIC_DEFAULT_SONNET_MODEL默认 Sonnet 模型 IDclaude-sonnet-4-6
ANTHROPIC_DEFAULT_OPUS_MODEL默认 Opus 模型 IDclaude-opus-4-7
ANTHROPIC_DEFAULT_HAIKU_MODEL默认 Haiku 模型 IDclaude-haiku-4-5
ANTHROPIC_HTTP_TIMEOUTHTTP 超时(毫秒)60000
HTTP_PROXYHTTP 代理http://127.0.0.1:7890
HTTPS_PROXYHTTPS 代理http://127.0.0.1:7890
ANTHROPIC_BETAS启用 Beta 功能structured-outputs
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS禁用实验性功能1

在不同 Shell 中设置

bash
# 临时(当前 shell 会话)
export ANTHROPIC_API_KEY="sk-ant-..."

# 永久(加入 ~/.bashrc 或 ~/.zshrc)
echo 'export ANTHROPIC_API_KEY="sk-ant-..."' >> ~/.bashrc
source ~/.bashrc
powershell
# 临时
$env:ANTHROPIC_API_KEY = "sk-ant-..."

# 永久(写入用户级环境变量)
[Environment]::SetEnvironmentVariable(
    "ANTHROPIC_API_KEY", "sk-ant-...", "User"
)
cmd
# 永久(需重新打开 CMD 才生效)
setx ANTHROPIC_API_KEY "sk-ant-..."

17.5 ~/.claude.json — 账号信息

安全提示

~/.claude.json 包含你的认证信息,不要分享或提交到版本控制系统。

json
{
  "accounts": [
    {
      "type": "console",
      "apiKey": "sk-ant-..."
    }
  ],
  "activeAccount": 0,
  "lastSessionId": "sess_xxx",
  "sessionHistory": [
    {
      "id": "sess_xxx",
      "project": "/Users/me/my-project",
      "lastAccess": "2026-05-13T10:30:00Z"
    }
  ]
}

17.6 配置优先级(低→高)

~/.claude/settings.json      (全局默认)

.claude/settings.json        (项目级)

环境变量                      (高优先级)

命令行参数                    (最高优先级)

调试配置

运行 claude doctor 可以查看当前实际生效的配置来源和值,方便排查冲突。


下一步:插件(Plugins)

基于官方文档整理,持续更新