claudecode通用配置settings.json

📁 配置文件位置

文件 位置 用途
全局设置 ~/.claude/settings.json 所有项目通用
项目共享设置 项目/.claude/settings.json 团队共享,提交到 git
项目本地设置 项目/.claude/settings.local.json 个人覆盖,不提交 git
MCP 服务器 ~/.claude.json 全局 MCP 配置
自定义指令 ~/.claude/CLAUDE.md 类似 Codex 的 system prompt

✅ 全局通用配置(~/.claude/settings.json

这份是你所有项目都生效的通用配置:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",

  "permissions": {
    "allow": [
      "Read",
      "Edit",
      "Bash(npm *)",
      "Bash(node *)",
      "Bash(git *)",
      "Bash(pnpm *)",
      "Bash(npx *)",
      "Bash(ls *)",
      "Bash(cat *)",
      "Bash(find *)",
      "Bash(grep *)",
      "Bash(dir *)",
      "Bash(Get-ChildItem *)",
      "Bash(Select-String *)",
      "Bash(powershell.exe *)"
    ],
    "deny": [
      "Bash(rm -rf /)",
      "Bash(del /s /q C:\\*)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  },

  "model": "claude-sonnet-4-6",

  "defaultMode": "acceptEdits",

  "language": "chinese",

  "env": {
    "ANTHROPIC_API_KEY": "sk-xxx-你的key"
  }
}

📝 各字段解释

permissions.allow — 自动放行的命令,不再弹确认:

  • Read / Edit — 所有文件读写自动放行
  • Bash(npm *) 等 — 常用开发命令自动放行
  • Bash(powershell.exe *) — Windows 下的 PowerShell 命令自动放行(你的环境需要这个)

permissions.deny — 明确禁止的危险操作:

  • 删除根目录、读取 .env 敏感文件等

defaultMode — 权限模式,可选值:

  • "default" — 每个工具首次使用都要确认
  • "acceptEdits" — 文件编辑自动放行,命令还需确认(推荐
  • "auto" — AI 自动判断是否安全(类似 Codex 的 on-request
  • "bypassPermissions" — 跳过所有审批(类似 Codex 的 never高风险

model — 默认模型,常用值:

  • "claude-sonnet-4-6" — 快速均衡
  • "claude-opus-4-6" — 最强但更贵

language — 回复语言设为中文


🔧 如果你想完全不弹确认(等效 Codex 的 approval_policy = "never"

方式一:启动时加参数

claude --dangerously-skip-permissions

方式二:配置 defaultMode

{
  "defaultMode": "bypassPermissions"
}

⚠️ 这两种都等于完全放飞,建议只在沙箱/容器环境用。


🔄 推荐配置(平衡效率和安全)

如果你想跟 Codex 那边一样——常用命令自动跑、危险操作拦截:

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",

  "permissions": {
    "allow": [
      "Read",
      "Edit",
      "Bash(npm *)",
      "Bash(node *)",
      "Bash(git *)",
      "Bash(pnpm *)",
      "Bash(npx *)",
      "Bash(powershell.exe -NoLogo *)",
      "Bash(Get-ChildItem *)",
      "Bash(Select-String *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  },

  "model": "claude-sonnet-4-6",
  "defaultMode": "acceptEdits",
  "language": "chinese"
}

这样常见的文件读写、开发命令都自动放行,不会再被 Allow command? 打断。API Key 建议通过环境变量 ANTHROPIC_API_KEY 传入,不要写在配置文件里。

💬 评论

0/200