{"version":"2.1.317","anchor":"mcp-env-var-expansion-check-now-looks-at-values-not-keys","canonical_anchor":"mcp-env-var-expansion-check-now-looks-at-values-not-keys","heading":"MCP server settings now spot ${ variables in values rather than names","tier":"notice","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317\/e\/mcp-env-var-expansion-check-now-looks-at-values-not-keys","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.317","markdown":"### MCP server settings now spot `${` variables in values rather than names\n\nClaude Code now looks for `${` placeholders in the values of MCP environment variables and headers, not in their names\n\n**Unclear.** It is not clear what Claude Code does differently with an entry once it finds `${` in the value.\n\n**What**\n\nMCP servers are outside tools that Claude Code connects to. Their settings can include environment variables (named values handed to a program when it starts) and headers (extra details sent with each request). Writing `${` in one of these marks a placeholder that Claude Code fills in from your own environment.\n\nClaude Code used to look for `${` in the name of each entry. It now looks in the value instead, and only when that value is text.\n\n**Why**\n\nPlaceholders are normally written in the value. This means Claude Code now notices them where they actually appear in an MCP server's settings.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}