{"name":"MCP_TIMEOUT","slug":"mcp-timeout","family":"env","title":"Environment variables","noun":"environment variable","description":"Very large MCP_TIMEOUT values are capped instead of overflowing and timing out instantly.","description_source":"entry","described_by":{"version":"2.1.227","anchor":"huge-mcp-timeout-values-no-longer-fire-instantly"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.309","builds":150,"mined_builds":150,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.281","anchor":"sdk-mcp-servers-now-have-a-connect-timeout","heading":"SDK MCP servers now have a connect timeout","line":"In-process SDK MCP servers now give up connecting after the standard MCP connect timeout instead of waiting forever","released_at":"2026-09-23 17:01:17","reason":"found in this entry's text, named in this entry"},{"version":"2.1.227","anchor":"huge-mcp-timeout-values-no-longer-fire-instantly","heading":"Huge MCP timeout values no longer fire instantly","line":"Very large MCP_TIMEOUT values are capped instead of overflowing and timing out instantly.","released_at":"2026-08-10 20:56:57","reason":"named in this entry, found in this entry's text"},{"version":"1.0.111","anchor":"environment-variable-whitelist","heading":"Environment Variable Whitelist","line":null,"released_at":"2025-09-10 22:16:23","reason":"found in this entry's text"},{"version":"1.0.8","anchor":"timeout-configuration","heading":"Timeout Configuration","line":null,"released_at":"2025-06-02 16:16:32","reason":"found in this entry's text"},{"version":"0.2.55","anchor":"mcp-connection-timeout","heading":"MCP Connection Timeout","line":null,"released_at":"2025-03-26 21:40:53","reason":"found in this entry's text"},{"version":"0.2.42","anchor":"mcp-server-timeout-configuration","heading":"MCP Server Timeout Configuration","line":null,"released_at":"2025-03-14 16:29:50","reason":"found in this entry's text"},{"version":"0.2.42","anchor":"release-notes-update","heading":"Release Notes Update","line":null,"released_at":"2025-03-14 16:29:50","reason":"found in this entry's text"}],"entries_total":7,"docs":[{"source":"claude-code","path":"agent-sdk\/mcp","title":"Connect to external tools with MCP","documented":false},{"source":"claude-code","path":"cli-reference","title":"CLI reference","documented":false},{"source":"claude-code","path":"env-vars","title":"Environment variables","documented":false},{"source":"claude-code","path":"headless","title":"Run Claude Code programmatically","documented":false},{"source":"claude-code","path":"hooks","title":"Hooks reference","documented":false},{"source":"claude-code","path":"mcp","title":"Connect Claude Code to tools via MCP","documented":false},{"source":"claude-code","path":"mcp-quickstart","title":"Connect to MCP servers","documented":false}],"docs_total":7,"gates":[],"related":[{"name":"MCP_CLIENT_SECRET","slug":"mcp-client-secret","description":"OAuth client secret for an MCP server, used instead of prompting. When the client secret is requested and `MCP_CLIENT_SECRET` is non-empty, its value is used; otherwise Claude Code prompts `Enter OAuth client secret: ` on stderr, and with no TTY it fails with `No TTY available to prompt for client secret. Set MCP_CLIENT_SECRET env var instead.`"},{"name":"MCP_CONNECT_TIMEOUT_MS","slug":"mcp-connect-timeout-ms","description":"Very large MCP_TIMEOUT values are capped instead of overflowing and timing out instantly."},{"name":"MCP_CONNECTION_NONBLOCKING","slug":"mcp-connection-nonblocking","description":"Five more environment variables, including stream and byte watchdogs, can be set in settings.json."},{"name":"MCP_DISCOVERY_CACHE","slug":"mcp-discovery-cache","description":"Startup no longer dials cached HTTP or SSE MCP servers; they restore from cache and connect on first use."},{"name":"MCP_DISCOVERY_CACHE_MAX_STALE_S","slug":"mcp-discovery-cache-max-stale-s","description":"Cached MCP server discovery is dropped after repeated connection failures instead of only on age."},{"name":"MCP_DISCOVERY_CACHE_STRIKES","slug":"mcp-discovery-cache-strikes","description":"Cached MCP server discovery is dropped after repeated connection failures instead of only on age."},{"name":"MCP_DISCOVERY_CACHE_TTL_S","slug":"mcp-discovery-cache-ttl-s","description":"Cached MCP server discovery is dropped after repeated connection failures instead of only on age."},{"name":"MCP_OAUTH_CALLBACK_PORT","slug":"mcp-oauth-callback-port","description":"About 220 environment variables now parse and validate in one place, including bounds checks."},{"name":"MCP_OAUTH_CLIENT_METADATA_URL","slug":"mcp-oauth-client-metadata-url","description":"MCP OAuth stops sending a client id that only works for loopback, and repairs saved entries."},{"name":"MCP_PROTOCOL_NEGOTIATION","slug":"mcp-protocol-negotiation","description":"A newer MCP protocol handshake exists per transport but every gate falls back to legacy here."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/mcp-timeout","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}