{"version":"2.1.305","anchor":"warnings-from-print-mode-startup-go-through-a-new-helper-and","canonical_anchor":"warnings-from-print-mode-startup-go-through-a-new-helper-and","heading":"Startup warnings for MCP servers now go to stderr only in non-interactive runs","tier":"notice","area":"MCP","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305\/e\/warnings-from-print-mode-startup-go-through-a-new-helper-and","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.305","markdown":"### Startup warnings for MCP servers now go to stderr only in non-interactive runs\n\nWarnings about invalid or blocked MCP servers now print to stderr in non-interactive runs and go to the log otherwise\n\n**What**\n\nClaude Code changed how it shows certain warnings at startup. Before, it printed them whenever the error output (stderr) was a terminal. Now it prints them to stderr when running non-interactively, such as with `-p`, and otherwise writes them to its log as warnings.\n\nThis covers:\n\n- The warning that a server from `--mcp-config` was skipped due to invalid config\n\n- The warning that a server was blocked by an enterprise policy\n\n- Some notifications\n\n**Why**\n\nScripts that run Claude Code non-interactively still see these warnings on stderr. In an interactive session you may no longer see them printed in the terminal.\n\n- Area: MCP\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}