Unclear How the tool names in CLAUDE_CODE_UPFRONT_TOOLS should be separated is not stated.
What
Claude Code can hold some tools back and only load them when Claude needs them, which is called deferring them. A new environment variable (a setting passed to a program when it starts), CLAUDE_CODE_UPFRONT_TOOLS, takes a list of tool names. Tools on the list are not deferred while the set of tools for the session has not yet been decided.
Some details:
- MCP tools that come from claude.ai are never affected.
- The variable is passed on to helper processes Claude Code starts, so it reaches them too.
- Claude Code never sets it itself. Whatever launches Claude Code has to supply it.
- The number of names given is recorded in usage data.
Why
Whoever launches Claude Code can now choose which tools are loaded from the start, rather than waiting until Claude asks for them.
Names in the bundleCLAUDE_CODE_UPFRONT_TOOLS
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubt
How the tool names in `CLAUDE_CODE_UPFRONT_TOOLS` should be separated is not stated.
The name it cites is new in this build
New in this build: CLAUDE_CODE_UPFRONT_TOOLS