Skip to content

Claude Code环境变量与权限精调完全手册:100+变量速查+4大实战配置

2026年5月4日

Claude Code系列第三篇。搭好了.claude目录后,你会碰到两个新问题:有些行为想改但不知道改哪个变量;每次操作都要点确认很烦,但又不敢全开YOLO。

环境变量:按场景找到你要的那个

三种设置方式(优先级从高到低)

bash
# 方式1:启动参数(最高优先级,当次有效)
claude --model opus --effort high

# 方式2:终端export(当次会话有效)
export CLAUDE_CODE_EFFORT_LEVEL=max
claude

# 方式3:settings.json的env字段(持久化,推荐)
{
  "env": {
    "CLAUDE_CODE_EFFORT_LEVEL": "max"
  }
}

环境变量场景速查

场景一:API中转用户

变量用途
ANTHROPIC_BASE_URL中转服务商的API地址
ANTHROPIC_AUTH_TOKENAPI密钥(自动加Bearer前缀)
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC关掉遥测、自动更新、错误上报

注意CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC是组合开关,等于同时设了DISABLE_AUTOUPDATER + DISABLE_TELEMETRY + DISABLE_ERROR_REPORTING + DISABLE_FEEDBACK_COMMAND。

场景二:默认Opus + max effort

变量用途
ANTHROPIC_MODEL默认模型,支持别名(opus、sonnet、haiku、opusplan)
CLAUDE_CODE_EFFORT_LEVEL思考深度:low / medium / high / max(仅Opus)

场景三:控制上下文和Token

变量用途默认值
CLAUDE_CODE_MAX_OUTPUT_TOKENS最大输出token数因模型而异
API_TIMEOUT_MSAPI请求超时(毫秒)600000(10分钟)
DISABLE_AUTO_COMPACT禁用自动压缩-
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE自动压缩触发阈值(1-100)~95%

场景四:调试问题

bash
# 加--debug启动,日志写到指定路径
claude --debug
  • CLAUDE_CODE_DEBUG_LOGS_DIR - 日志路径
  • CLAUDE_CODE_DEBUG_LOG_LEVEL - 日志详细程度(verbose到error)

小技巧:Claude Code启动时会自动设CLAUDECODE=1,你的脚本可以用它检测当前是否在CC里运行。

场景五:关闭功能

bash
DISABLE_AUTOUPDATER=1        # 关掉自动更新
DISABLE_TELEMETRY=1         # 关掉遥测数据
CLAUDE_CODE_DISABLE_AUTO_MEMORY=1      # 关掉自动记忆
CLAUDE_CODE_DISABLE_CLAUDE_MDS=1      # 不加载任何CLAUDE.md
CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS=1 # 去掉内置commit/PR工作流指令
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 # 关掉后台任务

场景六:Bash行为微调

变量用途
BASH_DEFAULT_TIMEOUT_MS命令默认超时时间
BASH_MAX_TIMEOUT_MS模型能设置的最大超时
BASH_MAX_OUTPUT_LENGTH输出最大字符数(超了中间截断)
CLAUDE_CODE_SHELL覆盖自动检测的shell

场景七:安全与UI

变量用途
CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1剥离子进程环境里的API凭证,防prompt injection
CLAUDE_CODE_NO_FLASH=1全屏渲染模式,防画面闪烁
CLAUDE_CODE_SCROLL_SPEED鼠标滚轮速度(1-20倍)

实用技巧:多账户切换

bash
alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'
alias claude-personal='CLAUDE_CONFIG_DIR=~/.claude-personal claude'

权限规则语法速查

从「大开关」到「精细旋钮」

第一篇讲过四个权限模式——Default、Auto-Accept、Auto、YOLO。这些是「大开关」,但实际需要更细的控制。

规则语法

json
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Read"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(curl *)",
      "Read(./.env)"
    ]
  }
}

评估顺序:deny → ask → allow。deny优先级最高。

Bash命令匹配

规则匹配不匹配
Bash(npm run *)npm run dev、npm run testnpm install
Bash(git * main)git push main、git merge maingit push origin dev
Bash(* --version)node --version、python --versionnode index.js

注意:空格很重要!Bash(ls *)匹配ls -la但不匹配lsofBash(ls*)两个都匹配。

文件路径匹配

写法含义示例
Read(./.env)当前目录下的.env精确匹配
Read(./secrets/**)secrets目录下所有文件目录保护
Edit(/src/**/*.ts)项目根目录下src内所有.ts限定编辑范围
Read(//Users/alice/file)文件系统绝对路径注意双斜杠

重要/Users/alice/file不是绝对路径,它是相对于项目根的路径。绝对路径要用//Users/alice/file(双斜杠)。


四大实战配置方案

案例1:个人日常开发

json
{
  "permissions": {
    "allow": [
      "Bash(npm run *)",
      "Bash(git status)",
      "Bash(git diff *)",
      "Bash(git log *)",
      "Read",
      "Edit"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(git reset *)",
      "Bash(npm publish *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(sudo *)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  }
}

案例2:全自动模式(并行会话用户)

json
{
  "permissions": {
    "allow": [
      "WebSearch", "WebFetch", "Bash", "Read", "Write",
      "Edit", "Glob", "Grep", "Task", "TodoWrite"
    ],
    "deny": [],
    "defaultMode": "bypassPermissions"
  },
  "skipDangerousModePermissionPrompt": true,
  "hooks": {
    "stop": [{
      "hooks": [{
        "type": "command",
        "command": "afplay /System/Library/Sounds/Blow.aiff"
      }]
    }]
  }
}

前提:有Git兜底,环境不是生产服务器。

案例3:多人团队

项目级.claude/settings.json(提交Git,全员统一)

json
{
  "permissions": {
    "allow": [
      "Bash(pnpm run *)",
      "Bash(git status)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

**

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来