165 Environment Variables in Claude Code 2.1.69 — What Changed in 50 Versions#

Published on March 5, 2026

Back in January 2025, I extracted 83 undocumented environment variables from Claude Code v2.1.19's binary. Fifty versions later, I reran the same extraction on v2.1.69 and the count nearly doubled: 165 env vars, 16 model IDs, and 41 Statsig feature gates.

Here is what is new, what got removed, and why it matters.

The Numbers#

v2.1.19 (Jan 2025)v2.1.69 (Mar 2026)
Environment variables83165
Model IDs in binary16
Statsig feature gates~16 known41
Dynamic configs~9 known30+

Biggest New Additions#

Plugin Ecosystem (6 new vars)#

Claude Code now has a full plugin system. Six new env vars control it:

VariablePurpose
CLAUDE_CODE_PLUGIN_CACHE_DIRLocal cache directory for downloaded plugins
CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MSGit clone timeout for plugin installation
CLAUDE_CODE_PLUGIN_SEED_DIRSeed directory for pre-installed plugins
CLAUDE_CODE_PLUGIN_USE_ZIP_CACHEUse zip-based caching instead of git
CLAUDE_CODE_SYNC_PLUGIN_INSTALLInstall plugins synchronously (block until done)
CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MSTimeout for synchronous plugin install

This aligns with the enabledPlugins setting in settings.json where you can toggle community and official plugins.

mTLS / Enterprise Proxy Support (3 new vars)#

Mutual TLS support for enterprise environments:

VariablePurpose
CLAUDE_CODE_CLIENT_CERTPath to client certificate for mTLS
CLAUDE_CODE_CLIENT_KEYPath to client private key
CLAUDE_CODE_CLIENT_KEY_PASSPHRASEPassphrase for encrypted client key

If your org uses a corporate proxy with mutual TLS, these are the vars you need.

Background Tasks and Cowork (5 new vars)#

VariablePurpose
CLAUDE_AUTO_BACKGROUND_TASKSEnable automatic background task execution
CLAUDE_CODE_DISABLE_BACKGROUND_TASKSDisable background tasks entirely
CLAUDE_CODE_ENABLE_TASKSEnable the task system
CLAUDE_CODE_IS_COWORKIndicates running in cowork (multi-agent) mode
CLAUDE_CODE_USE_CCR_V2Use Claude Code Router v2 for cowork sessions

Context Window Controls (5 new vars)#

Fine-grained control over auto-compaction — the system that compresses your conversation when hitting token limits:

VariablePurpose
CLAUDE_AFTER_LAST_COMPACTInternal marker: post-compaction state
CLAUDE_AUTOCOMPACT_PCT_OVERRIDEOverride the auto-compaction trigger percentage
CLAUDE_CODE_DISABLE_PRECOMPACT_SKIPDisable skipping pre-compaction checks
CLAUDE_CODE_DISABLE_1M_CONTEXTDisable the extended 1M token context window
CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENSMax tokens for file read output

If you read my context window management guide, CLAUDE_AUTOCOMPACT_PCT_OVERRIDE is particularly interesting — it lets you control exactly when compaction triggers.

Multi-Provider Auth (7 new vars)#

Claude Code now has explicit env vars for each cloud provider:

VariablePurpose
CLAUDE_CODE_USE_BEDROCKUse Amazon Bedrock as backend
CLAUDE_CODE_USE_VERTEXUse Google Vertex AI as backend
CLAUDE_CODE_USE_FOUNDRYUse Anthropic Foundry as backend
CLAUDE_CODE_SKIP_BEDROCK_AUTHSkip Bedrock authentication
CLAUDE_CODE_SKIP_VERTEX_AUTHSkip Vertex AI authentication
CLAUDE_CODE_SKIP_FOUNDRY_AUTHSkip Foundry authentication
CLAUDE_CODE_CUSTOM_OAUTH_URLCustom OAuth endpoint URL

Fast Mode and UI Controls#

VariablePurpose
CLAUDE_CODE_DISABLE_FAST_MODEDisable the /fast toggle that uses the same model with faster output
CLAUDE_CODE_DISABLE_TERMINAL_TITLEStop Claude Code from setting the terminal title
CLAUDE_CODE_STREAMING_TEXTControl streaming text display
CLAUDE_CODE_QUESTION_PREVIEW_FORMATFormat for permission question previews
CLAUDE_CODE_SEARCH_HINTS_IN_LISTShow search hints in tool list

Remote and Server Mode (4 new vars)#

VariablePurpose
CLAUDE_CODE_REMOTE_MEMORY_DIRMemory directory for remote sessions
CLAUDE_CODE_REMOTE_SEND_KEEPALIVESSend keepalive pings in remote mode
CLAUDE_CODE_SPAWNED_BY_SERVERIndicates process was spawned by a server
CLAUDE_CODE_RESUME_INTERRUPTED_TURNResume an interrupted agent turn

What Got Removed (6 vars)#

Removed VariableReplacement / Notes
CLAUDE_BASH_NO_LOGINReplaced by CLAUDE_CODE_SHELL_PREFIX
CLAUDE_CODE_AGENT_SWARMSReplaced by CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS
CLAUDE_CODE_SIMPLETONRenamed to CLAUDE_CODE_SIMPLE
CLAUDE_CODE_SESSION_IDLikely internalized / no longer exposed
CLAUDE_CODE_PROFILE_QUERYLikely merged into general profiling
MAX_THINKING_TOKENSLikely controlled via API settings now

Model IDs in the Binary#

The v2.1.69 binary contains references to these model IDs:

claude-3-haiku-20240307
claude-3-opus-20240229
claude-3-sonnet-20240229
claude-3-5-haiku-20241022
claude-3-5-sonnet-20240620
claude-3-5-sonnet-20241022
claude-3-7-sonnet-20250219
claude-4-opus-20250514
claude-code-20250219
claude-haiku-4-5-20251001
claude-opus-4-20250514
claude-opus-4-1-20250805
claude-opus-4-5-20251101
claude-sonnet-4-20250514
claude-sonnet-4-5-20250514
claude-sonnet-4-5-20250929

The full Claude 4.x model family is visible — from Sonnet 4 through Opus 4.5.

New Dynamic Configs#

Several new Statsig dynamic configs appeared, revealing internal feature toggles:

Config IDValueLikely Purpose
522643335variant: "interactive_menu"Interactive menu UI mode selector
4008157471variant: "user_intent"User intent classification system
3148619311fromMarketplace: truePlugin marketplace integration
2719998910fallback_available_warning_threshold: 0.5Model fallback warning threshold
3855860696scheduledDelayMillis: 5000, maxExportBatchSize: 200Telemetry export batching config
4189951994tokenThreshold: 0.92Auto-compaction triggers at 92% of context window

The tokenThreshold: 0.92 in config 4189951994 is worth noting — it confirms that auto-compaction triggers at 92% capacity, earlier than the ~95% many assumed.

How to Run This Yourself#

The extraction script lives at scripts/claude-code-extractor.py in the turboai.dev repo:

# Check your version
claude --version

# Run full extraction
python3 scripts/claude-code-extractor.py --all

# Just env vars
python3 scripts/claude-code-extractor.py --env-vars

# Just model IDs
python3 scripts/claude-code-extractor.py --models

The script reads from ~/.local/bin/claude (the binary) and ~/.claude/statsig/ (cached feature flags). No network requests needed.

What This Tells Us About Claude Code's Direction#

Fifty versions of env var growth paint a clear picture:

  1. Plugin ecosystem is real — Six new vars for plugin management means Anthropic is building an extensible platform, not just a CLI tool.
  2. Enterprise is a priority — mTLS, multi-provider auth (Bedrock/Vertex/Foundry), and org-level UUIDs show serious enterprise investment.
  3. Multi-agent is maturing — Swarms became Agent Teams, cowork got a v2 router, and background tasks enable truly autonomous agent workflows.
  4. Context management is getting smarter — Five new compaction-related vars suggest ongoing work on the 1M context window and how to manage it efficiently.

I plan to rerun this extraction periodically. The docs and raw JSON results are in docs/EXTRACTION_RUNS.md and docs/extractions/ for reproducibility.


Previously: 83 Undocumented Claude Code Environment Variables (v2.1.19)

Related: Context Window Management Guide | Claude Code Productivity Tips