Plugins and MCP
These variables change how Claude Code loads plugins, runs MCP servers, finds skills, and runs hooks. They set time limits, token limits, cache paths, and marketplace behavior. Use them to tune slow MCP servers or to lock down plugin loading.
This page lists 102 variables. MCP_TIMEOUT and MCP_TOOL_TIMEOUT are common. Switch rows take 1.
Example
{
"$schema": "https://clawdipedia.cc/schemas/claude-code-settings.json",
"env": {
"MCP_TIMEOUT": "30000",
"MCP_TOOL_TIMEOUT": "120000"
}
}
A server gets 30 seconds to start, and a tool call gets two minutes.
Variables
The table is sorted by name. See Environment Variables for what each column and badge means.
| Variable | Status | What it does | Values and default | Notes |
|---|---|---|---|---|
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns off the capture of SDK MCP server manifests in the session setup. | On or off. The code passes capture as false when the value is set | SDK hosts. Not set from project env before trust |
CLAUDE_ | Documented: An official docs page names this item. | Skips the mcp__ prefix on tool names from SDK-created MCP servers. | On or off. Applies to MCP servers of type sdk and to auto mode tool | SDK use only. Not set from project env before trust |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Starts the first plugin sync early in a cloud session. No visible effect in a print-mode probe (Probes). | On or off. Applies only to non-interactive sessions | Cloud sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Starts the first skills sync early in a cloud session. | On or off. Applies only to non-interactive sessions | Cloud sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Folds the command rescan into the first turn when plugin startup is still pending. Else it refreshes commands right after the skills sync. | On or off | Cloud sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Set to tag to add the claude- default marketplace to plugin download and plugin search requests. | Text. Only the value tag has an effect | Cloud sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Gives the names of the desktop connectors to Claude Code, then Claude Code removes it from the environment. New in 2.. | Text | Desktop app |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Gives the desktop skills plugin folder to Claude Code, then Claude Code removes it from the environment. A Probes run saw no effect. | Text | Desktop app |
CLAUDE_ | Documented: An official docs page names this item. | Removes bundled skills and workflows. Same effect as the disable setting. | On or off. Messages name both the setting and the variable | All sessions. Project env can set it before trust |
CLAUDE_ | Documented: An official docs page names this item. | Keeps the Chrome tools but empties the Chrome system prompt section and disables the / skill. | On or off | Claude in Chrome |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns off the bundled claude- skill when Claude Code registers its bundled skills. | On or off | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns off the bundled Claude Code skill when Claude Code registers its bundled skills. | On or off | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Marks hook forwarding as disabled in the hook admission check. Also turns off a hook forwarding gate on non-Windows systems. No visible effect in a print-mode probe (Probes). | On or off, off by default | SDK and remote sessions |
CLAUDE_ | Documented: An official docs page names this item. | Stops the automatic registration of the official plugin marketplace. | On or off. Read when the install is about to run | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Stops Notification hooks for unanswered permission requests sent to can. | On or off. The helper returns a no-op when set | Desktop and IDE hosts using the SDK |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns off forwarding of local plugins to cloud sessions. It hides the cloud- command. No visible effect in a print-mode probe (Probes). | On or off, off by default. Also passed as disabled to the plugin admission check | Cloud and remote sessions |
CLAUDE_ | Documented: An official docs page names this item. | Skips skills from the system-wide managed skills directory. | On or off. The loader skips the policy source | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Turns off workflows. Same as the disable setting. | On or off. An env value is reported as a managed source, not a user setting | All sessions. Project env can set it before trust |
CLAUDE_ | Documented: An official docs page names this item. | Refreshes plugin state at turn boundaries after a background install finishes. No visible effect in a print-mode probe (Probes). | On or off, off by default. Stored as background at first message | Non-interactive mode |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Adds the Refresh tool, which re-queries connected MCP servers for their tools. | On or off, off by default. Read when the tool list is built | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Tells the model not to name the app's own reply tool server or its failure, and not to ask the user to reconnect it. | On or off. Counts only when the MCP server is the built-in app server. Changes the status text sent to the model | Desktop or host apps with a built-in reply server |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Runs plugin hooks modules on the main thread instead of a worker thread. | On or off. Unset uses a worker. The test harness for hooks modules also sets it | All sessions, plugin hooks modules |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Lets Claude Code add its Artifacts MCP entry in a desktop host session. Without it, the program skips that entry with the reason desktop_. Added in 2.. | On or off, off by default. A true value is the only one that lifts the skip. Other checks still apply | Desktop host sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Gives the host skill catalog as JSON with a skills list of 1 to 64 folder names. Claude Code ignores a bad value with a warning. | Text. Read only with CLAUDE_ and then removed from the env | Remote sessions with a host |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. Works only behind a feature flag or server gate | Turns on a feature flag path by env. In a probe, it adds the skill- skill to the init event. See Probes. | On or off. The name sits next to the claude plugin eval text | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Claude Code sets it in the environment of a marketplace headers command. It holds the name of the marketplace. | Text. Claude Code sets it for the helper, only when the name is known | Marketplace headers helper only |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Claude Code sets it in the environment of a marketplace headers command. It holds the URL of the marketplace. | Text. Claude Code sets it for the helper | Marketplace headers helper only |
CLAUDE_ | Documented: An official docs page names this item. | Sets the longest MCP tool description and server instructions text sent to the model. | A number. Whole number min 1, digits only. Replaces the defaults 4096 and the larger tool-search limit. Replaces both defaults (4096 and 16384). Since 2. | All sessions, MCP. Project env can set it before trust |
CLAUDE_ | Documented: An official docs page names this item. Differs: The official docs and the program disagree. The row says how. The official docs and the program disagree. The row says how. | Starts stdio MCP servers with a safe base env plus the server env. Docs omit that the local- entrypoint turns it on by default. | Text. A true value turns it on, a false value turns it off, unset is on only for the local- entrypoint. 1 gives only a safe baseline plus the server env | Stdio MCP servers |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Joins the connection of always MCP servers before the first input, when other checks pass. | On or off. Used in the MCP connect planner next to the always field | MCP startup |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Declares MCP Apps support to MCP servers by adding the io. extension and the text/ MIME type with the mcp- profile. | On or off. Also on the list of vars that force a copy of the env | MCP client, host apps |
CLAUDE_ | Documented: An official docs page names this item. Differs: The official docs and the program disagree. The row says how. The official docs and the program disagree. The row says how. Gated: Works only behind a flag or a server gate. Works only behind a feature flag or server gate | Sets the time before a running MCP tool call moves to the background. Docs omit the gates below. | A number of milliseconds. Whole number, 0 turns it off, capped at a max. Unset follows a feature flag. Default 120000. Since 2. | All sessions, MCP tool calls |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets how long the first turn waits for claude.ai connectors, capped at a built-in max. | A number of milliseconds. Whole number min 1. Read only for sessions with an SDK URL that are not under the CLAUDE_ is bridge check. Capped at 2147483647 | Remote SDK-URL sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. Works only behind a feature flag or server gate | Turns off the memory cgroup limit for MCP server processes when set to a false value or to none. | Text. Otherwise a feature flag set to false also turns it off. Linked to the Linux tool memory cap. Sets the memory cap class of MCP processes | Linux |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Names MCP servers to wait for at start-up. Servers with no -- row are listed and not waited for. | Text. Read only for sessions with an SDK URL. Works with CLAUDE_ | Remote SDK-URL sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets how long to wait for the servers in CLAUDE_. | A number of milliseconds. Whole number min 0, digits only. Read only for sessions with an SDK URL | Remote SDK-URL sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Fetches the list of official MCP registry URLs at startup. Without it, some cloud sessions wait for the first https:// MCP server URL check. Added in 2.. | On or off, off by default. The wait applies in a tool container daemon, a ccs tenant, or a hosted worker session. Elsewhere the list is fetched at once | Cloud sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Gives the MCP serve mode a bearer value for its auth. Without it the mode uses a stdout reader. | Text (a secret). Claude Code reads it from the env once and then removes it. It also clears it from the child process env | MCP serve mode |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Asks for a minimum anthropic/ version. Claude Code ignores and logs a value that differs from the real one. | Text. The log event is launch_ | MCP serve mode |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Gives launch settings as JSON with permissions. and permissions. rules. Without readable settings the server runs nothing. | Text. Also on the list of vars that force a copy of the env | MCP serve mode |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Lets the MCP serve mode return tool output objects. Needs launch rules from CLAUDE_. | On or off. Boolean, true only as true. Otherwise the server refuses calls that ask for an output object | MCP serve mode |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets the workspace root of the MCP serve mode. It must be an absolute path of at most 4096 characters. | Text. A bad path gives the fault bad_ | MCP serve mode |
CLAUDE_ | Documented: An official docs page names this item. | Gives the MCP server name to a headers script. | Text. Claude Code sets it in the env of the headers process | MCP servers with a headers |
CLAUDE_ | Documented: An official docs page names this item. | Gives the MCP server URL to a headers script. | Text. Claude Code sets it in the env of the headers process | MCP servers with a headers |
CLAUDE_ | Documented: An official docs page names this item. | Sets how long the first turn of a non-interactive session waits for MCP servers that still connect. | A number of milliseconds. Whole number min 0, capped at a built-in max. 0 skips the wait. Since 2. | Non-interactive sessions |
CLAUDE_ | Documented: An official docs page names this item. | Sets the idle timeout of MCP tool calls. | A number. Whole number. Defaults 300000 for network servers and 1800000 for stdio. 0 turns it off | MCP tool calls except IDE and SDK servers |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Claude Code sets it in the environment of a plugin headers command. It holds the archive URL of the plugin. | Text. Claude Code sets it for the helper | Plugin headers helper only |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Supplies attribution data per plugin ID, such as the marketplace name. It wins over the normal lookup. A Probes run saw no effect. | Text. Bad fields log a warning. Claude Code removes it from the env of shell subprocesses | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. Gated: Works only behind a flag or a server gate. Works only behind a feature flag or server gate | Turns on fetching of binary plugin assets from a marketplace. It is also on when a feature flag is true. No visible effect in a print-mode probe (Probes). | On or off. Failures raise a Plugin. Assets are cached under the plugin asset cache dir | Plugins from some marketplaces |
CLAUDE_ | Documented: An official docs page names this item. | Sets the plugins root dir. No visible effect in a print-mode probe (Probes). | Text. Default is plugins under the config dir (cowork_ in cowork mode). Also the base dir of the zip cache | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Turns on reload of plugins loaded with -- when files change. No visible effect in a print-mode probe (Probes). | On, off, or unset. Default is on in interactive sessions and off in non-interactive ones. 0 turns it off everywhere | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Loads plugin dirs for the session like --. In a probe, it loads the plugin dir like -- (same plugins list in init). See Probes. | Text. Claude Code skips relative paths with a warning. Claude Code writes the cleaned list back to the var | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Sets the timeout for a plugin marketplace git clone or refresh. No visible effect in a print-mode probe (Probes). | A number of milliseconds, 120000 by default. Whole number in ms above 0. The timeout error text names this var | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Keeps the existing marketplace clone when the remote is unreachable at refresh. No visible effect in a print-mode probe (Probes). | On or off. Logs a warning and returns a kept- result instead of re-cloning | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Claude Code sets it in the environment of a plugin headers command. It holds the name of the plugin. | Text. Claude Code sets it for the helper | Plugin headers helper only |
CLAUDE_ | Documented: An official docs page names this item. | Clones GitHub shorthand sources over HTTPS and not SSH. No visible effect in a print-mode probe (Probes). | On or off. The same check is also true when CLAUDE_ is set, which the docs do not say | All sessions |
CLAUDE_ | Documented: An official docs page names this item. | Names read-only plugin seed dirs for containers. No visible effect in a print-mode probe (Probes). | Text. Each path is normalized | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns on the plugin zip cache. It needs CLAUDE_. A Probes run saw no effect. | On or off. Without the cache dir the zip cache code throws Plugin zip cache is not enabled | All sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Adds a nonce to the JSON result line of plugin commands. | Text. Claude Code reads it once at startup and then removes it from the env | Plugin commands |
CLAUDE_ | Documented: An official docs page names this item. | Overrides the time budget in ms for Session hooks. Without it the budget is 1.5 s, raised to the highest hook timeout up to 60 s. | A number of milliseconds. Integer 1 or more. Org-defined hooks read it through a managed-source path | Session exit, /, / |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Supplies a JSON map that attributes skills to plugins or sources. Claude Code looks up each skill in it. | JSON text. Claude Code logs and ignores bad entries. It removes the variable from the env of child processes | Skill loading, hosts |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns on the skill proposals tool and its prompt text, which let the model propose skills for the user to save. | On or off. Needs CLAUDE_ to be set and skill sync to be off | Remote environments |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Stops MCP server debug messages from going to the per-server debug log files in an Anthropic-hosted cloud session. They still go to the debug log. Added in 2.. | On or off, off by default. Applies when CLAUDE_ is true and CLAUDE_ is unset | Anthropic-hosted cloud sessions |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Loads only sse, http, and ws MCP servers from plugins, so local servers are skipped. The program logs "only sse, http and ws servers load while CLAUDE_CODE_SKIP_PLUGIN_LOCAL_MCP_SERVERS is set". | On or off | All plugin loading |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Skips MCPB bundle sources of plugins. The program logs Skipping MCPB source and names this variable or CLAUDE_. | On or off | All plugin loading |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Skips MCP server discovery for plugins, except for plugins in the _ list. A Probes run saw an empty mcp_ list. | On or off. The skip is logged per plugin. The log says (CLAUDE_ | All plugin loading |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Lists plugins that keep their MCP servers when CLAUDE_ is set. No visible effect in a print-mode probe (Probes). | A comma-separated list. Empty items are ignored. The log says exempted via | All plugin loading |
CLAUDE_ | Documented: An official docs page names this item. | Sets how many times in a row a Stop or Subagent hook may block the turn end before Claude Code ends the turn anyway. | A number, 8 by default. Integer, default 8. 0 turns the cap off | Stop and SubagentStop hooks |
CLAUDE_ | Documented: An official docs page names this item. | Makes a non-interactive run wait for plugin install before the first query. A Probes run saw plugin_ events in stream-json. | On or off. Takes effect only in a mode with a storage backend. Pair with the timeout variable | Print mode - |
CLAUDE_ | Documented: An official docs page names this item. | Bounds the wait for synchronous plugin install. After the limit Claude Code goes on without plugins and logs an error. No visible effect in a print-mode probe (Probes). | A number of milliseconds. Integer 1 or more. Default is 0, which means no limit | Print mode - |
CLAUDE_ | Documented: An official docs page names this item. | Turns on the sync of the account plugin list from the Claude server. The sync downloads plugins before use. No visible effect in a print-mode probe (Probes). | On or off. It also turns on the sync gates for session refs | Remote and account plugin sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Downloads synced plugins as one buffered request. Without it the download uses a stream with a stall guard. No visible effect in a print-mode probe (Probes). | On or off | Plugin sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets how many synced plugins download at the same time. | A number, 6 by default. Since 2. | Plugin sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets how long a plugin download stream may get no data before it is cut. The error says the stream stalled. No visible effect in a print-mode probe (Probes). | A number of milliseconds, 60000 by default. Integer 1 or more, default 60000 ms | Plugin sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets the time limit in ms for the install step of the plugin sync. No visible effect in a print-mode probe (Probes). | A number of milliseconds, 30000 by default. Integer 1 or more, default 30000 | Plugin sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets the time limit in ms for the MCP step of the plugin sync. No visible effect in a print-mode probe (Probes). | A number of milliseconds, 10000 by default. Integer 0 or more, default 10000 | Plugin sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Sets a window in ms in which the plugin and skills sync can skip a round. The program keeps a stamp file . that holds a token and the list of sync kinds it covers. A round writes it. A startup sync reuses the last round when the file is younger than this window. | A number of milliseconds. Integer 0 to 86400000. A value of 0 or less turns reuse off | Plugin and skills sync |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Turns on sync of the plugins and skills that a remote session lists. It needs a CCR session ID. | On or off. Counts as a switch for both plugin sync and skills sync | Remote sessions |
CLAUDE_ | Documented: An official docs page names this item. | Makes a - run download the skills enabled for your claude.ai account and wait for the list before the first query. | On or off. Needs claude.ai auth. Docs match. Since 2., with feature-flag fetching off, a session reuses a claude.ai skills list that another session on the machine fetched, when the list is up to 10 minutes old | Print mode - |
CLAUDE_ | Documented: An official docs page names this item. | Sets the timeout in ms for the mid-session skills resync when an SDK app reloads skills. Late skills finish in the background. | A number of milliseconds, 30000 by default. Integer. A value of 0 or less uses the default 30000 | Agent SDK apps |
CLAUDE_ | Documented: An official docs page names this item. | Sets how long the first query waits for the first skill list when CLAUDE_ is set. | A number of milliseconds, 5000 by default. Integer. A value of 0 or less uses the default 5000 ms | Print mode - |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Lists MCP tool names. A turn that ends with these tool results is checked. | Text. Comma-separated | - |
CLAUDE_ | Undocumented: Only the program shows this item. It can change without notice. | Makes Claude Code read and write cowork_ in place of the user settings. (hooks, env, enabled, and marketplaces too). It also makes Claude Code keep plugins in the cowork_ folder in place of plugins. Project env cannot set it. | On or off | Cowork hosts |
CLAUDE_ | Documented: An official docs page names this item. | Gives a plugin hook command the path of the data directory of that plugin. No visible effect in a print-mode probe (Probes). | - | - |
CLAUDE_ | Documented: An official docs page names this item. | Gives a plugin hook command the path of the plugin root directory. No visible effect in a print-mode probe (Probes). | - | - |
CLAUDE_ | Documented: An official docs page names this item. | Gives each hook command the project directory. | A path. Also set in a stdio MCP server env | - |
ENABLE_ | Documented: An official docs page names this item. | Stops the fetch of claude.ai MCP servers when set to false. | On, off, or unset. false/0/no/off disables and logs "Disabled via env var" | Logged-in users. Not set from project env before trust |
ENABLE_ | Undocumented: Only the program shows this item. It can change without notice. | When false, Claude Code truncates large MCP tool results and does not save them to a file. | On, off, or unset. Only false is checked. The event reason is env_ | MCP tool results. Not set from project env before trust |
FORCE_ | Documented: An official docs page names this item. | Keeps plugin auto-update on when the main auto-updater is off. No visible effect in a print-mode probe (Probes). | On or off. Checked first in the plugin auto-update skip check | All sessions. Not set from project env before trust |
MCP_ | Documented: An official docs page names this item. | Sets how long blocking MCP startup waits for the connection batch. | A number of milliseconds. Default 5000. Applies with MCP_ or always | - |
MCP_ | Documented: An official docs page names this item. | Controls whether startup waits for MCP servers before the first query. | Startup does not wait by default. 0 waits for servers before the first query. always servers still wait | - |
MCP_ | Documented: An official docs page names this item. Gated: Works only behind a flag or a server gate. Off by default unless a rollout enables it | Turns the MCP discovery cache on with 1 or off with 0. | 1 on, 0 off. Off by default unless a rollout enables it | - |
MCP_ | Documented: An official docs page names this item. | Sets the maximum age of a discovery-cache entry in seconds. | Default 14400, capped at 7 days | - |
MCP_ | Documented: An official docs page names this item. | Sets how many failed background refreshes in a row discard a cache entry. | Default 1 | - |
MCP_ | Documented: An official docs page names this item. | Sets how long a cache entry is used without a background refresh. | Default 900 | - |
MCP_ | Documented: An official docs page names this item. | Chooses whether the v2 MCP client probes servers for the newer protocol revision. | auto or legacy. Probes for revision 2026-. v2 runtime only | - |
MCP_ | Documented: An official docs page names this item. | Sets how many remote (HTTP or SSE) MCP servers connect in parallel at startup. | A number. Default 20 | - |
MCP_ | Documented: An official docs page names this item. | Pins the MCP client runtime to v1 or v2. | v1 or v2. Read once per process. Since 2. | - |
MCP_ | Documented: An official docs page names this item. | Sets how many local (stdio) MCP servers connect in parallel at startup. | A number. Default 3 | - |
MCP_ | Documented: An official docs page names this item. | Sets the startup connect timeout of one MCP server in milliseconds. | Default 30000 | - |
MCP_ | Documented: An official docs page names this item. | Sets the timeout of an MCP tool call in milliseconds. | Default 100000000 (about 28 hours). Values below 1000 become 1 s. The per-server timeout wins. Remote servers also have a 60 s per-request timer | - |
MCP_ | Undocumented: Only the program shows this item. It can change without notice. | Chooses the prompt for large MCP output saved to a file. Any value except legacy picks the new prompt. | legacy selects the old prompt. Not set follows a flag | - |
How It Works
Plugins and MCP servers start when a session starts. Claude Code reads these variables early.
Claude Code passes some variables to MCP server and hook processes. It can strip credentials first when CLAUDE_CODE_SUBPROCESS_ENV_SCRUB is on.
Related Pages
- Environment Variables: how Claude Code reads variables and which value wins.
- MCP
- Plugins
- Hooks
- Undocumented Items: every item that only the program shows.
Source: the program (variable names found in the 2.1.312 binary) and the Environment Variables page of the official docs.