Follow Discord
Sweep 27 Oct 2026 · 19:04Z Build v2.1.312 531 read Stable v2.1.308 Latest v2.1.312 Next v2.1.312 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.311 ·

MCP config entries are kept as written, and missing-variable messages depend on scope

Servers loaded with --mcp-config are now recorded as written, and messages about missing environment variables change with where the config came from

You'll notice Improvements
JSON All of v2.1.311
You'll noticeTier: how much it should matter to you
2Useful: my rating, 1 to 5
2Signal: worth watching, 1 to 5
MCPArea: what it touches
ImprovementsKind: in v2.1.311,
ImprovementsSection of the release
What

When you load MCP servers with --mcp-config (MCP servers are outside programs that give Claude extra tools), Claude Code now keeps a copy of each server entry exactly as you wrote it. This applies whether you pass the config as inline JSON or as a file. That copy is passed along through headless startup and handed to the session before Claude Code connects to the servers. Headless startup means running without the interactive screen, for example with -p.

Two messages also changed:

  • Missing environment variable messages are now worded according to the config's scope, meaning where the config came from.
  • Errors in a plugin's language server settings now begin with In plugin LSP config:.
Why

Most of this is internal. The part you can see is the wording of error messages when an MCP or plugin config refers to an environment variable that is not set.

Read from
Names in the bundle--mcp-config

See this entry in the whole of v2.1.311 →

Feedback