Slash 命令看官方文档为会话设置环境变量,同时应用于 Bash 和 PowerShell 工具命令。全网调研整理典型场景在会话中临时注入 API key 或 token,无需重启 Claude Code 或修改配置文件模拟 CI/CD 环境变量(如 NODE_ENV=production),用于调试构建或测试流程Windows 用户统一为 Bash tool 和 PowerShell tool 设置同一套变量,避免双份配置注入 Azure/AWS 临时凭证等短效 token,避免将其写入持久化的 settings.json在当前 worktree 会话内切换不同环境配置(如多账号、多 region)而不影响全局实用技巧语法为 `/env KEY=VALUE`,可连续多次调用逐个设置多个变量,无需一次全写与 settings.json 的 `env` 字段互补:`/env` 仅作用于当前会话,重启后失效;settings.json 持久生效Bash tool 内用 `export` 设置的变量不跨 tool call 持久,每次 Bash 调用是新子进程;用 `/env` 才能真正跨调用生效PowerShell tool 完全读取 `/env` 设置的变量,Windows 混合 shell 工作流无需额外配置SessionStart Hook 配合 `CLAUDE_ENV_FILE` 可批量注入变量,但该机制目前仅对 Bash tool 生效;跨 shell 场景应优先用 `/env`常见坑`export VAR=value` 在 Bash tool 调用内有效,但不持久到下一次 Bash 调用,容易误以为变量已全局生效CLAUDE_ENV_FILE(由 Hook 填充)目前仅注入 Bash tool,不传递给 PowerShell tool、MCP server 或 subagent会话结束后 `/env` 设置的变量全部消失,需要跨会话持久化应改用 settings.json 的 `env` 字段来源Claude Code's PowerShell Tool — A Native Windows Path That Bypasses WSL | Claude Lab[FEATURE] CLAUDE_ENV_FILE should propagate to PowerShell tool and child plugins · Issue #60697[DOCS] Environment variables don't persist between bash commands · Issue #2508Environment variables - Claude Code DocsCommands - Claude Code Docs最早记录ⓘ≤v2.1.89最近更新v2.1.89变化次数1改进 1变化时间线(按版本倒序)改进v2.1.89· 2026/04/01 · 2026/04/01/env 现在同时应用于 PowerShell 工具命令和 Bash上一个/effort回到命令字典下一个/exit