Logo Vincent
返回文章列表

Claude Code settings.json 详解(四):env、模型、认证与其他实用字段

Claude
Claude Code settings.json 详解(四):env、模型、认证与其他实用字段

前言

前三篇分别介绍了配置文件体系(一)、permissions 权限系统(二)和 hooks 钩子(三)。这一篇把剩余的实用字段统一过一遍——它们不如前三篇那样”戏份重”,但实际上覆盖了日常使用中你最可能调整的那些旋钮。

内容按功能分组,方便按需查阅。


env — 注入环境变量

{
  "env": {
    "NODE_ENV": "development",
    "MY_API_URL": "https://api.example.com",
    "DEBUG": "true"
  }
}

env 是一个 Record<string, string>,Claude Code 启动时会将这些键值对注入到当前会话的环境变量里。所有通过 Bash 工具执行的命令、以及 hooks 脚本,都能读到这些变量。

常见用途:

  • 为所有 Bash 命令设置固定的环境变量,避免每次手动 export
  • 在项目设置里写入项目专属变量,让团队共享同一套环境配置
  • CI 场景下通过 --settings 临时注入敏感配置(配合管理员策略使用)

注意env 字段的值必须是字符串,不支持动态求值。如果需要动态获取,可以使用下文介绍的 apiKeyHelper


模型配置

model — 覆盖默认模型

{
  "model": "claude-sonnet-4-6"
}

覆盖 Claude Code 默认使用的模型。可以在用户设置里全局指定,也可以在项目设置里为特定项目指定不同的模型。

有效值示例:claude-opus-4-6claude-sonnet-4-6claude-haiku-4-5-20251001

availableModels — 模型白名单

{
  "availableModels": ["claude-opus-4-6", "claude-sonnet-4-6"]
}

限制用户可以通过 /model 命令切换的模型范围。不在列表里的模型不会出现在选择界面里。适合团队统一管控允许使用的模型,防止成员随意切换到高成本模型。

modelOverrides — 模型 ID 映射

{
  "modelOverrides": {
    "claude-sonnet-4-6": "anthropic/claude-sonnet-4-6-custom"
  }
}

将 Anthropic 标准模型 ID 映射到提供商特定的模型 ID,适合通过第三方 API 代理使用 Claude 的场景。


身份认证辅助

apiKeyHelper — 动态获取 API 密钥

{
  "apiKeyHelper": "/path/to/get-api-key.sh"
}

指定一个可执行脚本的路径,Claude Code 在需要 API 密钥时会运行这个脚本,并读取其 stdout 作为认证值。适合以下场景:

  • 密钥存储在密钥管理系统(如 1Password、Vault)里,需要动态获取
  • 密钥会定期轮换,不方便硬编码在环境变量里

脚本只需在 stdout 输出密钥字符串即可,无需任何格式。

awsCredentialExport / awsAuthRefresh

{
  "awsCredentialExport": "/path/to/export-aws-creds.sh",
  "awsAuthRefresh": "/path/to/refresh-aws.sh"
}

用于 AWS Bedrock 集成场景:

  • awsCredentialExport:输出 AWS 凭证的脚本路径(export AWS_ACCESS_KEY_ID=... 格式)
  • awsAuthRefresh:凭证过期后用于刷新的脚本路径

gcpAuthRefresh

{
  "gcpAuthRefresh": "gcloud auth application-default login"
}

Google Cloud 认证刷新命令。当使用 Vertex AI 作为后端时,凭证过期后 Claude Code 会自动调用这条命令重新认证。


Git 与提交署名

attribution — 自定义提交署名

{
  "attribution": {
    "coAuthoredBy": true,
    "coAuthorName": "My Claude",
    "coAuthorEmail": "claude@example.com"
  }
}

自定义 Claude Code 在提交和 PR 里加入的署名信息。子字段:

字段类型说明
coAuthoredByboolean是否在提交 message 里加入 Co-authored-by
coAuthorNamestringCo-author 的显示名称
coAuthorEmailstringCo-author 的邮箱

includeCoAuthoredBy(已弃用)

{
  "includeCoAuthoredBy": false
}

控制是否在提交里加入 Claude 的 Co-authored-by 署名,默认为 true。这个字段已被 attribution 取代,建议迁移到新字段。设置为 false 可以彻底去掉 AI 署名。

includeGitInstructions

{
  "includeGitInstructions": false
}

控制是否在系统提示里包含内置的 Git 提交和 PR 工作流说明,默认为 true。如果你有自己的 CLAUDE.md 里已经写了完整的 Git 规范,可以设为 false 避免重复。


会话与清理

cleanupPeriodDays — 会话记录保留天数

{
  "cleanupPeriodDays": 60
}

控制聊天记录(transcript)的保留天数,默认为 30 天。超过这个天数的记录会被自动清理。

特殊值:设为 0 会完全禁用会话持久化,Claude Code 不会在磁盘上保存任何聊天记录。适合对隐私有严格要求的场景。


语言与界面

language — 响应语言

{
  "language": "chinese"
}

设置 Claude 的首选响应语言。支持自然语言名称,如 "chinese""japanese""spanish" 等。这个字段同时影响语音听写的识别语言。

未设置时,Claude 默认用用户输入的语言回复。

syntaxHighlightingDisabled

{
  "syntaxHighlightingDisabled": true
}

禁用 diff 视图里的语法高亮。在某些终端渲染有问题时可以用这个字段关掉高亮。

terminalTitleFromRename

{
  "terminalTitleFromRename": false
}

控制执行 /rename 命令时是否同步更新终端标签页的标题,默认为 true。不需要这个行为时可以关掉。

spinnerTipsEnabled

{
  "spinnerTipsEnabled": false
}

控制是否在 Claude 思考时的 spinner 里显示小提示,默认开启。喜欢干净界面的用户可以关掉。

prefersReducedMotion

{
  "prefersReducedMotion": true
}

减少或禁用界面动画,适合对动画敏感的用户或无障碍需求场景。


思考深度与效率

effortLevel — 思考深度

{
  "effortLevel": "high"
}

持久化保存思考深度设置,等效于每次手动执行 /effort。支持三个值:

效果
low快速回复,减少思考时间
medium默认平衡
high深度思考,适合复杂任务

只对支持 Extended Thinking 的模型(Opus、Sonnet)有效。

alwaysThinkingEnabled

{
  "alwaysThinkingEnabled": false
}

设为 false 完全禁用思考(thinking)功能;缺省或设为 true 时由模型自动决定是否启用思考。

fastMode

{
  "fastMode": true
}

开启 Fast Mode(等效于执行 /fast),持久化保存该设置。

{
  "fastModePerSessionOptIn": true
}

fastModePerSessionOptIntrue 时,Fast Mode 的设置不会跨会话保留,每次启动 Claude Code 都会重置。


自动更新

autoUpdatesChannel — 更新渠道

{
  "autoUpdatesChannel": "stable"
}

控制 Claude Code 的自动更新渠道:

说明
latest最新版本(可能包含预发布功能)
stable稳定版本(默认,经过更多测试的版本)

minimumVersion — 最低版本约束

{
  "minimumVersion": "2.1.88"
}

防止降级到低于指定版本。在切换到 stable 渠道时,如果 stable 版本低于当前版本,这个字段可以阻止降级。


记忆系统

autoMemoryEnabled — 自动记忆

{
  "autoMemoryEnabled": true
}

为当前项目启用自动记忆功能。Claude Code 会自动将对话中学到的重要信息持久化,供后续会话使用。

autoMemoryDirectory — 记忆存储目录

{
  "autoMemoryDirectory": ".claude/memory"
}

自定义记忆文件的存储目录(相对于项目根目录)。默认存储在 Claude Code 内置的记忆目录里。

autoDreamEnabled — 后台记忆整合

{
  "autoDreamEnabled": true
}

启用后台记忆整合(Auto Dream)。Claude Code 会在后台对已有记忆进行汇总和去重,保持记忆库的整洁。


MCP 服务器管理

enableAllProjectMcpServers

{
  "enableAllProjectMcpServers": true
}

自动批准 .mcp.json 里的所有 MCP 服务器,不需要逐个确认。适合信任项目配置的场景。

enabledMcpjsonServers / disabledMcpjsonServers

{
  "enabledMcpjsonServers": ["github", "playwright"],
  "disabledMcpjsonServers": ["legacy-tool"]
}

精细控制 .mcp.json 里哪些 MCP 服务器被启用、哪些被禁用。两个数组都是 MCP 服务器名称的列表,遵循上一篇介绍的数组合并规则(多层配置的值会拼接)。


其他实用字段

defaultShell

{
  "defaultShell": "bash"
}

设置输入框 ! 命令的默认 Shell,可选 "bash""powershell",默认为 "bash"

respectGitignore

{
  "respectGitignore": false
}

控制文件选择器(@ 提及时)是否遵守 .gitignore 规则,默认为 true.ignore 文件始终生效,不受此字段影响。

plansDirectory — 计划文件目录

{
  "plansDirectory": ".claude/plans"
}

自定义 /plan 命令生成的计划文件的存储目录(相对于项目根目录)。

disableAllHooks

{
  "disableAllHooks": true
}

一键禁用所有 hooks 和 statusLine 的执行。调试配置问题时非常有用——先用这个字段排除 hooks 的干扰,再逐步开启。

feedbackSurveyRate

{
  "feedbackSurveyRate": 0
}

控制会话质量问卷弹出的概率(0 到 1 之间)。设为 0 可以完全禁用反馈弹窗。


企业级管控字段

以下字段只在 managed-settings.json(管理员策略)中生效,用户设置里写了也不起作用:

字段说明
allowManagedHooksOnly只允许管理员策略里的 hooks 执行
allowManagedPermissionRulesOnly只使用管理员策略里的权限规则
allowManagedMcpServersOnlyMCP 服务器白名单只从管理员策略读取
allowedMcpServers企业级 MCP 服务器白名单
deniedMcpServers企业级 MCP 服务器黑名单
strictPluginOnlyCustomization限制只允许通过插件扩展(禁止本地 skills/agents/hooks)
forceLoginMethod强制使用指定的登录方式(claudeaiconsole
forceLoginOrgUUID强制绑定到指定的组织 UUID

settings.json 字段速查表

把前四篇涉及的字段汇总成一张表,方便日常参考:

分类字段简述
基础$schemaJSON Schema 引用(编辑器补全)
配置体系见第一篇文件路径、优先级、合并规则
权限permissionsallow/deny/ask 规则,见第二篇
钩子hooksdisableAllHooks生命周期钩子,见第三篇
环境变量env注入环境变量到会话
模型modelavailableModelsmodelOverrides模型选择与限制
认证apiKeyHelperawsCredentialExportgcpAuthRefresh动态获取凭证
GitattributionincludeCoAuthoredByincludeGitInstructions提交署名与 Git 说明
会话cleanupPeriodDays记录保留天数
语言界面languagesyntaxHighlightingDisabledprefersReducedMotion语言与 UI
思考effortLevelalwaysThinkingEnabledfastMode思考深度与快速模式
更新autoUpdatesChannelminimumVersion更新渠道控制
记忆autoMemoryEnabledautoMemoryDirectoryautoDreamEnabled自动记忆系统
MCPenableAllProjectMcpServersenabledMcpjsonServersMCP 服务器管理

小结

这四篇把 settings.json 的核心配置项都过了一遍:

  • 第一篇:五层配置体系,文件在哪里,谁覆盖谁
  • 第二篇permissions 权限规则,allow/deny/ask,通配符,defaultMode
  • 第三篇hooks 钩子,四种类型,四个核心事件,stdin/stdout 协议
  • 第四篇env、模型、认证、Git、会话、界面、思考、更新、记忆等杂项字段

绝大多数日常需求在这四篇里都能找到对应的配置项。遇到”怎么让 Claude Code 做 XXX”的问题,不妨先来这里翻一翻。

相关推荐

AI-first 创业公司,为什么只需要一种编程语言?

技术架构越简单 = AI Coding 效率越高。从 Java 的"防人"设计到 TypeScript 全栈通吃,聊聊 AI 时代创业公司的编程语言选择。

cc-ping:一行命令 Ping 所有 Claude Code 配置

用多个 Claude Code API Key 或中继?cc-ping 帮你管理配置、一键切换,还能并行 Ping 所有节点比速度。

震惊!程序员用这个工具,4分钟干完95分钟的活!效率暴涨24倍

躺床上发3条消息,4分钟搞定3个项目。传统方式需要95分钟,这就是冷兵器和热兵器的差距。

CCBot - 研发提效 24 倍

通过 IM 机器人控制 Claude Code,3 个项目 4 分钟全部搞定。传统编程需要 95 分钟,效率提升 24 倍。

Claude Code /add-dir:被低估的 Monorepo 神器

Claude Code 默认只能看到当前目录。/add-dir 打破这个限制——分享我每天跨 5 个仓库使用的经验。

Claude Code 省 Token 小技巧:感叹号的妙用

一个简单却容易被忽略的技巧——用感叹号直接执行命令,省 token、提速度、更可控。

我做了个机器人,让团队在飞书里用 Claude Code

CCBot 让你的团队在飞书群聊里直接用 Claude Code——不需要终端、不需要 SSH。开源、自部署、五分钟搞定。

Claude Code /btw 命令详解:不打扰主线的快问快答

详细介绍 Claude Code 的 /btw 命令——它是什么、怎么用、什么时候该用,以及它和子代理、/compact 的区别。

Claude Code /compact:释放上下文,不丢进度

任务做到一半上下文满了?/compact 帮你压缩对话继续干活——和 /clear、/rewind 的区别一次讲清。

Claude Code /config:一文搞懂所有可调设置

用 Claude Code 却从没打开过 /config?这篇带你逐项拆解——从权限模式到自动压缩,从主题切换到通知配置,帮你打造最顺手的 AI 编程环境。

Claude Code /context:你的上下文都被什么吃了?

对话到一半 Claude Code 说上下文不够了?/context 用一张可视化网格告诉你:上下文被什么占了、占了多少、怎么优化。

Claude Code /diff:这次对话改了什么,一目了然

Claude Code 帮你改了一堆文件,但你不确定到底改了什么?/diff 用交互式界面展示所有改动——既有 git 视角的全量 diff,也有按对话轮次拆分的逐步 diff。

Claude Code /fast:同样的 Opus,两倍速——值不值?

/fast 不会降级模型,还是 Opus,只是更快。什么时候该开、什么时候该关,以及实际体验差异。

Claude Code 引用外部知识的最佳实践:GitHub MCP + Context7

用 GitHub MCP 和 Context7 MCP 两个工具组合,解决 Claude Code 知识过时导致的代码错误问题。

Claude Code /hooks:让 AI 按你的规矩办事

想在 Claude Code 执行命令前自动检查?想在任务完成后自动通知?/hooks 让你用脚本、AI 甚至 HTTP 请求,在关键节点插入自定义逻辑。

Claude Code /init:10 秒自动生成 CLAUDE.md

别再手写 CLAUDE.md 了。看看 /init 自动生成的效果、怎么自定义输出,以及一个让 Claude Code 效率翻倍的小技巧。

Claude Code MCP:让 AI 连接 GitHub、数据库等一切工具

MCP 把 Claude Code 从代码阅读器升级为全栈 Agent。哪些 MCP 服务器值得装、配置怎么写,实测分享。

Claude Code /memory 详解:让 AI 真正记住你的项目

详细介绍 Claude Code 的 /memory 命令和记忆系统——CLAUDE.md 手动指令、Auto Memory 自动记忆、模块化规则,让 Claude 跨会话记住项目规范和个人偏好。

Claude Code /model:Opus、Sonnet、Haiku 怎么选?

不是每个任务都需要 Opus。怎么切换模型、哪个场景用哪个、怎么省 token 又不掉质量。

Claude Code /permissions:谁能干什么,你说了算

每次 Claude Code 要跑命令都弹窗问你?嫌烦又不敢全放开?/permissions 帮你精细控制每个工具的权限——该放的放,该拦的拦。

Claude Code /plan 详解:先想清楚再动手

详细介绍 Claude Code 的 /plan 命令和 Plan Mode——只读规划模式,让 Claude 先分析代码、制定方案,确认后再动手,避免复杂任务翻车。

Claude Code + Playwright MCP:AI 终于能"看见"页面了

一个 Modal 溢出的 bug,Claude Code 反复修了 5 次都没搞定。直到接入 Playwright MCP 让它真正看到页面,一次定位,一次修复。

Claude Code /resume 命令详解:别让对话白聊

详细介绍 Claude Code 的 /resume 命令——恢复历史对话、管理会话、实用技巧,让你的每一轮对话都不浪费。

Claude Code /review:让 AI 帮你做 Code Review

提了 PR 没人看?想在合并前多一道把关?/review 让 Claude Code 像一个资深开发者一样审查你的代码——还有 /ultrareview 和 /security-review 两个进阶选择。

Claude Code Skills 详解:打造你的专属命令库

详细介绍 Claude Code 的 Skills 功能——创建自定义斜杠命令、复用提示词模板、共享团队最佳实践,让 AI 编程更高效更一致。

Claude Code /stats:看看 AI 到底帮你写了多少代码

好奇 Claude Code 到底写了多少行代码?/stats 给你完整数据——token、编辑次数、工具调用,教你怎么看。

Claude Code /status 命令详解:一眼看清会话全貌

详细介绍 Claude Code 的 /status 命令——它是什么、怎么用、能看到哪些信息,以及它在日常工作流中的实际价值。

Claude Code /tasks 命令详解:后台任务尽在掌控

详细介绍 Claude Code 的 /tasks 命令——查看后台任务、管理并行 Agent、掌控长时间运行的进程,让多任务开发井井有条。

Claude Code /usage 命令详解:你的额度还剩多少

详细介绍 Claude Code 的 /usage 命令——查看用量、了解限额、避免突然被限速,让你对自己的额度心中有数。

Claude Code /vim:在 AI 编程助手里用 Vim 键位

习惯了 Vim 的操作方式?/vim 让你在 Claude Code 的输入框里用 hjkl 移动、dd 删行、ciw 替换单词——不用改变肌肉记忆。

Claude Code 使用指南:从安装到实战,一篇就够(2026)

用了半年 Claude Code 的经验总结——5 分钟安装配置、最常用的命令、CLAUDE.md 编写技巧,以及没人告诉你的实战心得。

Claude 全家桶:从聊天到写代码到自动办公,一文讲清楚

一篇文章带你了解 Anthropic 的 Claude 全家桶——Claude.ai、Claude Code、Claude Cowork,以及 Opus、Sonnet、Haiku 三大模型家族。

Claude Code /agents 详解:自定义 AI 子代理,各司其职

详细介绍 Claude Code 的 /agents 命令——查看、管理和创建自定义 Agent,让不同任务由专门的 AI 角色来执行,从代码探索到架构规划各司其职。

Claude Code /doctor 详解:一键诊断你的开发环境

详细介绍 Claude Code 的 /doctor 命令——自动检测安装状态、API 连接、MCP 配置、上下文用量等问题,帮你快速定位和修复环境故障。

Claude Code /effort 详解:控制 AI 思考的深度

详细介绍 Claude Code 的 /effort 命令——调节 Claude 的推理努力程度,在速度和质量之间找到最佳平衡点,让每一次对话都恰到好处。

Claude Code /cost 详解:你的 AI 编程到底花了多少钱

详细介绍 Claude Code 的 /cost 命令——实时查看会话 API 成本,了解各模型定价和 Token 消耗明细,让每一分钱都花得明明白白。

Claude Code /export 详解:把 AI 对话带走

详细介绍 Claude Code 的 /export 命令——将对话导出为文件或复制到剪贴板,方便分享、存档和复盘,让每一次有价值的对话都不浪费。

Claude Code /rewind 详解:AI 改错了?一键回退

详细介绍 Claude Code 的 /rewind 命令——将代码和对话回退到任意历史节点,支持只回退代码、只回退对话、或两者同时回退,是你和 AI 协作时的后悔药。

Claude Code /plugin 详解:给你的 AI 编程助手装插件

详细介绍 Claude Code 的 /plugin 命令——管理插件的安装、启用、禁用和更新,通过插件扩展 Claude Code 的命令、技能、Agent 和 Hook,打造你专属的 AI 编程工具链。

Claude Code /theme 详解:给你的终端换个好看的皮肤

详细介绍 Claude Code 的 /theme 命令——6 种预设主题 + 自动模式,支持深色/浅色、色盲友好、ANSI 兼容,60+ 色值覆盖终端全部 UI 元素。

Claude Code /insights 详解:用 AI 分析你自己用 AI 的方式

详细介绍 Claude Code 的 /insights 命令——五阶段数据分析流水线、七大洞察章节、多维度会话统计,用 Claude Opus 生成专属 HTML 使用报告。

Claude Code /rename 详解:给你的会话取个有意义的名字

详细介绍 Claude Code 的 /rename 命令——手动命名、AI 自动生成(Haiku 模型)、启动参数命名、Plan 模式自动命名,以及双标题系统与 Bridge 同步机制。

Claude Code settings.json 详解(一):配置文件在哪里、谁说了算

全面介绍 Claude Code 的配置文件体系——五个配置来源的路径、优先级规则、数组合并与单值覆盖的区别、企业管理设置的多种下发方式。

Claude Code settings.json 详解(二):permissions 权限系统全解析

深入解析 Claude Code 的 permissions 配置——allow/deny/ask 三类规则、通配符语法、MCP 工具权限、defaultMode 各模式含义,以及 additionalDirectories 的作用。

Claude Code settings.json 详解(三):hooks 钩子全解析

深入解析 Claude Code 的 hooks 配置——四种钩子类型、核心事件(PreToolUse/PostToolUse/Stop/Notification)、stdin/stdout 协议、exit code 语义,以及实用配置示例。

Claude Code Agent Loop:拆解 AI 编程助手的心脏

Claude Code 是怎么一步步理解你的需求、调用工具、自我修复的?从源码角度拆解 Agent Loop 的核心架构——流式响应、并行工具执行、自动压缩、错误恢复,一次讲透。

© 2026 vincentqiao.com . 保留所有权利。