{"version":"2.1.301","anchor":"mcp-stdio-spawn-takes-its-shell-prefix-and-base-env-through","canonical_anchor":"mcp-stdio-spawn-takes-its-shell-prefix-and-base-env-through","heading":"How local MCP servers get their shell prefix and environment has changed","tier":"internal","area":"MCP","scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301\/e\/mcp-stdio-spawn-takes-its-shell-prefix-and-base-env-through","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.301","markdown":"### How local MCP servers get their shell prefix and environment has changed\n\nFor MCP servers started as local programs, the shell prefix and starting environment are now worked out in one place and adjusted by config scope\n\n**Unclear.** What the extra adjustment does, and for which configuration locations, is not known.\n\n**What**\n\nMCP servers are add-on programs that give Claude Code extra tools. Some run as a local program that Claude Code starts and talks to directly. For these, `CLAUDE_CODE_SHELL_PREFIX` (a command placed in front of the server's command) and the environment variables the server starts with are now worked out together in one step. Before, they were set separately in place.\n\nDepending on where the server is configured, that step now passes through an extra adjustment.\n\n**Why**\n\nFor some ways of configuring a server, the environment an MCP server starts with may differ from before.\n\n- Area: MCP\n- Names: `CLAUDE_CODE_SHELL_PREFIX`\n- Tier: Under the hood\n- Useful: 1\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: no"}