Claude Code 整理自 @bcherny(Claude Code 创始人,Anthropic)2025–2026 年在 X 上发布的帖子,以及官方文档。
主要来源:
– Jan 2, 2026 X 帖子(13 条使用技巧)
– Jan 31, 2026 X 帖子(10 条团队内部技巧,8.5M 浏览)
– Feb 11, 2026 X 帖子(12 条配置技巧,含 “37 settings, 84 env vars” 原话)
– 官方文档 code.claude.com/docs/en/cli-reference – 官方文档 code.claude.com/docs/en/env-vars
一、CLI 启动标志(Flags)
bcherny 亲自提到的标志
| 标志 | 用途 | 出处 |
|---|---|---|
–permission-mode plan |
以 Plan 模式启动(只读探索,不写代码) | Feb 11 帖子 |
–permission-mode dontAsk |
无需审批权限提示运行 | Jan 2 帖子 tip 12 |
–permission-mode bypassPermissions |
等同于 –dangerously-skip-permissions |
官方文档 |
–dangerously-skip-permissions |
跳过所有权限提示(在沙箱中使用) | Jan 2 帖子 tip 12 |
–allow-dangerously-skip-permissions |
把 bypassPermissions 加入 Shift+Tab 循环,不立即进入该模式 | 官方文档 |
–worktree / -w |
在独立 git worktree 中启动(如 claude -w feature-auth) |
Jan 31 帖子 tip 1 |
–worktree –tmux |
worktree + 自动创建 tmux 会话 | 官方文档 |
–teleport |
把本地会话切换到 web(claude.ai/code),或把 web 会话恢复到本地 | Jan 2 帖子 tip 2 |
–remote “task” |
在 claude.ai 创建新 web 会话 | 官方文档 |
–remote-control / –rc |
启动支持 Remote Control 的交互会话(可从 claude.ai 或 Claude App 控制) | 官方文档 |
–agent |
为当前会话指定 agent(覆盖 agent 设置项) |
Feb 11 帖子 tip 4 |
–agents ‘ |
用 JSON 动态定义 subagent | 官方文档 |
–name / -n |
为会话设置展示名称(可用 claude -r 恢复) |
后续线程 |
–bare |
极简模式:跳过 hooks/skills/plugins/MCP/auto-memory/CLAUDE.md 自动发现,只保留 Bash、文件读写工具 | 后续线程 |
–add-dir |
添加额外工作目录(Claude 可读写该目录文件) | 后续线程 |
–effort |
设置当前会话的 effort 等级(low / medium / high / max) |
Feb 11 帖子 tip 2 |
–model |
指定模型(如 claude-opus–4–6,或别名 opus / sonnet) |
Jan 2 帖子 tip 3 |
-p “query” |
非交互(SDK)模式,执行后退出;用于 CI 或脚本 | Jan 31 帖子 bonus |
–continue / -c |
加载当前目录最近的会话 | 官方文档 |
–resume / -r |
按 ID 或名称恢复会话 | 官方文档 |
–fork-session |
恢复时创建新会话 ID 而非复用原会话(与 –resume 配合) |
官方文档 |
–chrome |
启用 Chrome 浏览器集成(UI 验证、自动化测试) | Jan 2 帖子 tip 13 |
–mcp-config |
从 JSON 文件加载 MCP 服务器配置 | 官方文档 |
–strict-mcp-config |
只使用 –mcp-config 指定的 MCP 服务器,忽略其他 MCP 配置 |
官方文档 |
–system-prompt |
替换整个系统提示词 | 官方文档 |
–append-system-prompt |
在默认系统提示词末尾追加内容 | 官方文档 |
–append-system-prompt-file |
从文件追加系统提示词 | 官方文档 |
–tools “Bash,Edit,Read” |
限制 Claude 可用的工具集 | 官方文档 |
–allowedTools |
无需审批直接执行的工具列表(权限白名单) | Jan 2 帖子 tip 10 |
–disallowedTools |
从模型上下文中移除的工具(彻底禁用) | 官方文档 |
–max-turns |
限制 agentic 轮数(仅 print 模式) | 官方文档 |
–max-budget-usd |
限制 API 花费上限(仅 print 模式) | 官方文档 |
–output-format |
输出格式:text / json / stream-json(仅 print 模式) |
官方文档 |
–json-schema ‘ |
要求输出符合 JSON Schema(仅 print 模式) | 官方文档 |
–fallback-model |
主模型过载时自动 fallback 到该模型(仅 print 模式) | 官方文档 |
–debug |
启用调试模式,可指定过滤类别(如 “api,mcp”) |
官方文档 |
–debug-file |
调试日志写入指定文件路径(隐式启用 debug 模式) | 官方文档 |
–enable-auto-mode |
解锁 auto 模式加入 Shift+Tab 循环(需 Team/Enterprise 计划) | 官方文档 |
–verbose |
详细日志,显示完整逐轮输出 | 官方文档 |
–init |
运行初始化 hooks 并进入交互模式 | 官方文档 |
–plugin-dir |
仅本次会话从指定目录加载插件 | 官方文档 |
–settings |
从 JSON 文件或 JSON 字符串加载额外设置 | 官方文档 |
–version / -v |
输出版本号 | 官方文档 |
常用命令(非标志)
claude # 启动交互会话
claude “query” # 带初始 prompt 启动
claude -p “query” # SDK/非交互模式
claude -c # 继续最近的会话
claude -r “session-name” # 恢复指定会话
claude update # 更新到最新版本
claude auth login # 登录账号
claude auth status # 查看认证状态
claude agents # 列出所有已配置 subagents
claude mcp # 配置 MCP 服务器
claude plugin install # 安装插件
claude remote-control –name “My Project” # 启动 Remote Control 服务器
二、环境变量(Environment Variables)
bcherny 原话:“We support 37 settings and 84 env vars (use the
envfield in yoursettings.jsonto avoid wrappers).”以下为完整官方列表(来自
code.claude.com/docs/en/env-vars),标注了 bcherny 帖子中特别提及的项。
认证与 API
| 变量 | 说明 |
|---|---|
ANTHROPIC_API_KEY |
API Key(设置后即使已登录也优先使用此 Key) |
ANTHROPIC_AUTH_TOKEN |
自定义 Authorization 请求头值(会加 Bearer 前缀) |
ANTHROPIC_BASE_URL |
覆盖 API endpoint,用于代理或网关路由 |
ANTHROPIC_BETAS |
逗号分隔的额外 anthropic-beta 头部值 |
ANTHROPIC_CUSTOM_HEADERS |
自定义请求头(Name: Value 格式,多个用换行分隔) |
CLAUDE_CODE_OAUTH_TOKEN |
Claude.ai OAuth access token(替代 /login,适用于 SDK/自动化场景) |
CLAUDE_CODE_OAUTH_REFRESH_TOKEN |
OAuth refresh token,配合 CLAUDE_CODE_OAUTH_SCOPES 免浏览器登录 |
CLAUDE_CODE_OAUTH_SCOPES |
OAuth scopes(空格分隔,与上一项配合使用) |
模型配置
| 变量 | 说明 |
|---|---|
ANTHROPIC_MODEL |
指定使用的模型名称 |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
覆盖 Haiku 模型名 |
ANTHROPIC_DEFAULT_SONNET_MODEL |
覆盖 Sonnet 模型名 |
ANTHROPIC_DEFAULT_OPUS_MODEL |
覆盖 Opus 模型名 |
ANTHROPIC_CUSTOM_MODEL_OPTION |
在 /model 选择器中添加自定义模型入口 |
ANTHROPIC_CUSTOM_MODEL_OPTION_NAME |
自定义模型在选择器中的显示名称 |
ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION |
自定义模型在选择器中的显示描述 |
CLAUDE_CODE_SUBAGENT_MODEL |
subagent 使用的模型 |
ANTHROPIC_SMALL_FAST_MODEL |
[已废弃] 后台任务使用的 Haiku 级模型 |
MAX_THINKING_TOKENS |
覆盖 extended thinking token 预算(设为 0 禁用 thinking) |
CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING |
设为 1 禁用 Opus 4.6/Sonnet 4.6 的自适应推理 |
CLAUDE_CODE_DISABLE_THINKING |
设为 1 强制禁用 extended thinking |
CLAUDE_CODE_EFFORT_LEVEL |
Effort 等级:low / medium / high / max / auto |
CLAUDE_CODE_MAX_OUTPUT_TOKENS |
最大输出 token 数 |
行为控制(bcherny 重点提及)
| 变量 | 说明 | bcherny 出处 |
|---|---|---|
CLAUDE_CODE_TASK_LIST_ID |
跨会话共享任务列表(多个 Claude 实例设相同 ID 可协作) | Feb 11 后续线程 |
CLAUDE_CODE_SIMPLE |
设为 1 等同于 –bare 极简模式 |
后续线程 |
CLAUDE_CODE_ENABLE_TELEMETRY |
设为 1 启用 OpenTelemetry 数据收集 |
Feb 11 帖子 settings 示例 |
CLAUDECODE |
Claude Code 产生的子 shell 中自动设为 1,用于检测是否在 CC 内部运行 |
官方文档 |
行为控制(完整)
| 变量 | 说明 |
|---|---|
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE |
自动压缩触发的上下文使用百分比(1–100,默认约 95%) |
CLAUDE_AUTO_BACKGROUND_TASKS |
设为 1 强制开启长任务自动后台化 |
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR |
每次 Bash 命令后回到原始工作目录 |
CLAUDE_CODE_ACCESSIBILITY |
设为 1 保持原生终端光标可见(辅助功能) |
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD |
设为 1 从 –add-dir 目录加载 CLAUDE.md |
CLAUDE_CODE_AUTO_COMPACT_WINDOW |
自动压缩计算使用的上下文窗口大小(token 数) |
CLAUDE_CODE_AUTO_CONNECT_IDE |
覆盖自动 IDE 连接行为(false 禁用,true 强制) |
CLAUDE_CODE_DEBUG_LOGS_DIR |
覆盖调试日志文件路径(需单独启用 –debug) |
CLAUDE_CODE_DEBUG_LOG_LEVEL |
调试日志最低级别:verbose / debug / info / warn / error |
CLAUDE_CODE_DISABLE_1M_CONTEXT |
设为 1 禁用 1M 上下文窗口支持 |
CLAUDE_CODE_DISABLE_ATTACHMENTS |
设为 1 禁用 @ 语法的文件附件处理 |
CLAUDE_CODE_DISABLE_AUTO_MEMORY |
设为 1 禁用 auto memory(0 强制开启) |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS |
设为 1 禁用所有后台任务功能 |
CLAUDE_CODE_DISABLE_CLAUDE_MDS |
设为 1 阻止加载任何 CLAUDE.md 文件 |
CLAUDE_CODE_DISABLE_CRON |
设为 1 禁用定时任务 |
CLAUDE_CODE_DISABLE_FAST_MODE |
设为 1 禁用 fast mode |
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS |
设为 1 从系统提示词中移除内置 git 工作流说明 |
CLAUDE_CODE_DISABLE_MOUSE |
设为 1 禁用全屏渲染中的鼠标跟踪 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
等效于同时设置 DISABLE_AUTOUPDATER、DISABLE_FEEDBACK_COMMAND、DISABLE_ERROR_REPORTING、DISABLE_TELEMETRY |
CLAUDE_CODE_DISABLE_TERMINAL_TITLE |
设为 1 禁用自动更新终端标题 |
CLAUDE_CODE_ENABLE_TASKS |
设为 1 在非交互模式(-p)中启用任务追踪系统 |
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS |
设为 1 启用实验性 agent teams |
CLAUDE_CODE_EXIT_AFTER_STOP_DELAY |
查询循环空闲后自动退出的等待时间(毫秒) |
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS |
覆盖文件读取的默认 token 限制 |
CLAUDE_CODE_GLOB_HIDDEN |
设为 false 从 Glob 结果中排除隐藏文件 |
CLAUDE_CODE_GLOB_NO_IGNORE |
设为 false 使 Glob 工具遵守 .gitignore |
CLAUDE_CODE_GLOB_TIMEOUT_SECONDS |
Glob 工具文件发现的超时秒数 |
CLAUDE_CODE_MAX_RETRIES |
失败 API 请求的重试次数(默认 10) |
CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY |
只读工具和 subagents 的最大并发数(默认 10) |
CLAUDE_CODE_NEW_INIT |
设为 1 使 /init 运行交互式初始化流程 |
CLAUDE_CODE_NO_FLICKER |
设为 1 启用全屏渲染(减少闪烁,降低长对话内存占用) |
CLAUDE_CODE_RESUME_INTERRUPTED_TURN |
设为 1 自动恢复上次中断的会话轮次 |
CLAUDE_CODE_SCROLL_SPEED |
全屏渲染中鼠标滚轮速度倍数(1–20) |
CLAUDE_CODE_SHELL |
覆盖自动 shell 检测 |
CLAUDE_CODE_SHELL_PREFIX |
包裹所有 bash 命令的前缀(用于日志或审计) |
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB |
设为 1 从子进程环境中剥离 API 凭证(防注入攻击) |
CLAUDE_CODE_SYNTAX_HIGHLIGHT |
设为 false 禁用 diff 输出的语法高亮 |
CLAUDE_CODE_TMPDIR |
覆盖内部临时文件目录 |
CLAUDE_CODE_USE_BEDROCK |
使用 Amazon Bedrock |
CLAUDE_CODE_USE_VERTEX |
使用 Google Vertex AI |
CLAUDE_CODE_USE_FOUNDRY |
使用 Microsoft Foundry |
CLAUDE_CODE_USE_POWERSHELL_TOOL |
设为 1 在 Windows 上启用 PowerShell 工具(预览) |
CLAUDE_CONFIG_DIR |
覆盖配置目录(默认 ~/.claude);可用于多账号并行 |
CLAUDE_ENABLE_STREAM_WATCHDOG |
设为 1 在流式响应停止 90 秒后自动中止 |
CLAUDE_ENV_FILE |
指向一个 shell 脚本,在每次 Bash 命令前被 source(用于保持 virtualenv/conda 激活状态) |
CLAUDE_STREAM_IDLE_TIMEOUT_MS |
流式响应停滞超时(毫秒,默认 90000);需配合 CLAUDE_ENABLE_STREAM_WATCHDOG=1 |
CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS |
设为 1 禁用所有内置 subagent 类型(仅非交互模式) |
CLAUDE_AGENT_SDK_MCP_NO_PREFIX |
设为 1 跳过 SDK 创建 MCP 工具的 mcp 前缀 |
CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX |
Remote Control 自动生成会话名的前缀 |
性能与请求
| 变量 | 说明 |
|---|---|
API_TIMEOUT_MS |
API 请求超时(毫秒,默认 600000) |
BASH_DEFAULT_TIMEOUT_MS |
长时间运行的 bash 命令默认超时 |
BASH_MAX_TIMEOUT_MS |
模型可设置的 bash 命令最长超时 |
BASH_MAX_OUTPUT_LENGTH |
bash 输出在被中间截断前的最大字符数 |
MCP_TIMEOUT |
MCP 服务器启动超时(毫秒) |
MCP_TOOL_TIMEOUT |
MCP 工具执行超时(毫秒) |
MCP_SERVER_CONNECTION_BATCH_SIZE |
本地 MCP 服务器(stdio)并行连接数(默认 3) |
MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE |
远程 MCP 服务器(HTTP/SSE)并行连接数(默认 20) |
MCP_CONNECTION_NONBLOCKING |
设为 true 在非交互模式下跳过 MCP 连接等待 |
ENABLE_TOOL_SEARCH |
控制 MCP 工具搜索行为(true / auto / auto:N / false) |
TASK_MAX_OUTPUT_LENGTH |
subagent 输出最大字符数(默认 32000,最大 160000) |
MAX_MCP_OUTPUT_TOKENS |
MCP 工具响应最大 token 数(默认 25000) |
SLASH_COMMAND_TOOL_CHAR_BUDGET |
技能元数据显示的字符预算 |
压缩控制
| 变量 | 说明 |
|---|---|
DISABLE_AUTO_COMPACT |
设为 1 禁用自动压缩(手动 /compact 仍可用) |
DISABLE_COMPACT |
设为 1 禁用所有压缩(自动+手动) |
代理与网络
| 变量 | 说明 |
|---|---|
HTTP_PROXY |
HTTP 代理服务器 |
HTTPS_PROXY |
HTTPS 代理服务器 |
NO_PROXY |
绕过代理的域名/IP 列表 |
CLAUDE_CODE_PROXY_RESOLVES_HOSTS |
设为 1 允许代理执行 DNS 解析 |
CLAUDE_CODE_CLIENT_CERT |
mTLS 客户端证书路径 |
CLAUDE_CODE_CLIENT_KEY |
mTLS 客户端私钥路径 |
CLAUDE_CODE_CLIENT_KEY_PASSPHRASE |
加密私钥的密码短语 |
Bedrock / Vertex / Foundry
| 变量 | 说明 |
|---|---|
ANTHROPIC_BEDROCK_BASE_URL |
覆盖 Bedrock endpoint URL |
AWS_BEARER_TOKEN_BEDROCK |
Bedrock API Key |
CLAUDE_CODE_SKIP_BEDROCK_AUTH |
跳过 AWS Bedrock 认证(如使用 LLM 网关) |
ENABLE_PROMPT_CACHING_1H_BEDROCK |
设为 1 使用 1 小时 prompt cache TTL(仅 Bedrock) |
ANTHROPIC_VERTEX_BASE_URL |
覆盖 Vertex AI endpoint URL |
ANTHROPIC_VERTEX_PROJECT_ID |
Vertex AI 的 GCP 项目 ID |
CLAUDE_CODE_SKIP_VERTEX_AUTH |
跳过 Vertex AI 认证 |
VERTEX_REGION_CLAUDE_4_6_SONNET |
覆盖 Sonnet 4.6 在 Vertex 上的区域 |
VERTEX_REGION_CLAUDE_4_0_OPUS 等 |
覆盖各模型在 Vertex 上的区域 |
ANTHROPIC_FOUNDRY_BASE_URL |
Foundry 完整 base URL |
ANTHROPIC_FOUNDRY_RESOURCE |
Foundry 资源名称 |
ANTHROPIC_FOUNDRY_API_KEY |
Foundry 认证 API Key |
CLAUDE_CODE_SKIP_FOUNDRY_AUTH |
跳过 Foundry 认证 |
遥测(OpenTelemetry)
| 变量 | 说明 |
|---|---|
CLAUDE_CODE_ENABLE_TELEMETRY |
设为 1 启用 OTel 数据采集 |
OTEL_METRICS_EXPORTER |
OTel metrics exporter(如 otlp) |
OTEL_LOGS_EXPORTER |
OTel logs exporter |
OTEL_EXPORTER_OTLP_ENDPOINT |
OTel collector endpoint |
OTEL_EXPORTER_OTLP_HEADERS |
OTel exporter headers |
OTEL_LOG_TOOL_CONTENT |
设为 1 在 span events 中包含工具输入/输出内容 |
OTEL_LOG_USER_PROMPTS |
设为 1 在追踪中包含用户 prompt 文本 |
CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS |
刷新待处理 OTel span 的超时(默认 5000ms) |
其他控制
| 变量 | 说明 |
|---|---|
DISABLE_AUTOUPDATER |
设为 1 禁用自动更新 |
DISABLE_ERROR_REPORTING |
设为 1 禁用 Sentry 错误上报 |
DISABLE_TELEMETRY |
设为 1 禁用 Statsig 遥测 |
DISABLE_COST_WARNINGS |
设为 1 禁用费用警告 |
DISABLE_PROMPT_CACHING |
设为 1 禁用所有模型的 prompt caching |
IS_DEMO |
设为 1 启用演示模式(隐藏邮箱/组织信息,适合录屏) |
USE_BUILTIN_RIPGREP |
设为 0 使用系统安装的 rg 而非内置版本 |
MAX_STRUCTURED_OUTPUT_RETRIES |
–json-schema 验证失败时的重试次数(默认 5) |
FALLBACK_FOR_ALL_PRIMARY_MODELS |
设为任意非空值,让所有主模型过载时都触发 fallback |
CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL |
跳过 IDE 扩展自动安装 |
三、settings.json 主要字段
bcherny: “Check your settings into git so your team can benefit, too.”
推荐使用settings.json的env字段代替包装脚本设置环境变量。
{
“$schema”: “https://json.schemastore.org/claude-code-settings.json”,
“permissions”: {
“allow”: [
“Bash(npm run lint)”,
“Bash(npm run test *)”,
“Bash(bun run *)”,
“Read(~/.zshrc)”
],
“deny”: [
“Bash(curl *)”,
“Read(./.env)”,
“Read(./.env.*)”
]
},
“env”: {
“CLAUDE_CODE_ENABLE_TELEMETRY”: “1”,
“OTEL_METRICS_EXPORTER”: “otlp”
},
“agent”: “my-custom-agent”,
“defaultMode”: “plan”,
“effortLevel”: “high”
}
配置文件层级(优先级从高到低)
| 优先级 | 来源 | 说明 |
|---|---|---|
| 1(最高) | Managed(企业策略) | MDM/注册表/服务器下发,不可覆盖 |
| 2 | 命令行参数 | 临时会话级覆盖 |
| 3 | .claude/settings.local.json |
本地个人覆盖(已 gitignore) |
| 4 | .claude/settings.json |
项目级(提交到 git,团队共享) |
| 5(最低) | ~/.claude/settings.json |
用户级全局设置 |
四、bcherny 的工作流核心习惯(来自 X 帖子)
- 并行运行 5 个 Claude:5 个 git checkout 对应 5 个终端标签页,配合 iTerm2 系统通知
- web + 本地并行:本地 terminal + claude.ai/code 同时跑 5–10 个会话,用
–teleport切换 - 全用 Opus with thinking:更慢但 steering 少,整体反而更快
- 团队共享 CLAUDE.md:提交到 git,出错就加规则,用
@.claude标注 PR 自动更新 - 每次复杂任务先进 Plan mode(Shift+Tab x2),计划确认后切 auto-accept 一次完成
- 把高频操作做成 slash command,检入
.claude/commands/,命令内可内嵌 Bash - subagents 自动化 PR 流程:
code-simplifier(完成后精简代码)、verify-app(端到端测试) - PostToolUse hook 自动格式化:
bun run format || true - 用
/permissions预批准常用命令,而不是–dangerously-skip-permissions;常见命令检入settings.json - 长任务:用
–permission-mode dontAsk或–dangerously-skip-permissions(仅沙箱)让 Claude 不被打断 - 给 Claude 提供验证手段(测试/浏览器/命令),可将结果质量提升 2–3 倍
- 配置项提交 git:settings、permissions、MCP 配置(
.mcp.json)全部团队共享
