{"name":"CLAUDE_CODE_SYNC_PLUGIN_INSTALL","slug":"claude-code-sync-plugin-install","family":"env","title":"Environment variables","noun":"environment variable","description":"Headless plugin installs refresh the cache in the background; set CLAUDE_CODE_SYNC_PLUGIN_INSTALL to skip it.","description_source":"entry","described_by":{"version":"2.1.228","anchor":"headless-plugin-install-refreshes-the-plugin-cache-in-the-ba"},"presence":{"first_seen":"2.1.138","removed_in":null,"in_current_build":true,"newest_mined":"2.1.308","builds":149,"mined_builds":149,"first_cited":null},"aliases":[],"entries":[{"version":"2.1.300","anchor":"plugin-worktreecreate-hooks-are-now-registered-before-work","heading":"Plugin WorktreeCreate hooks now run when starting with --worktree","line":"Starting with `--worktree` now sets up plugin worktree hooks first, so a plugin's `WorktreeCreate` hook can run","released_at":"2026-10-14 14:27:26","reason":"found in this entry's text"},{"version":"2.1.300","anchor":"plugin-install-and-mcp-startup-reworked-in-headless-mode","heading":"Plugin install and startup reworked in non-interactive sessions","line":"In non-interactive sessions, plugin install now settles before session-start hooks run again, and CLAUDE_CODE_SYNC_PLUGIN_INSTALL waits for pending installs","released_at":"2026-10-14 14:27:26","reason":"found in this entry's text"},{"version":"2.1.228","anchor":"headless-plugin-install-refreshes-the-plugin-cache-in-the-ba","heading":"Headless plugin install refreshes the plugin cache in the background","line":"Headless plugin installs refresh the cache in the background; set CLAUDE_CODE_SYNC_PLUGIN_INSTALL to skip it.","released_at":"2026-08-11 17:45:45","reason":"named in this entry, found in this entry's text"}],"entries_total":3,"docs":[{"source":"claude-code","path":"agent-sdk\/typescript","title":"Agent SDK reference - TypeScript","documented":false},{"source":"claude-code","path":"headless","title":"Run Claude Code programmatically","documented":false},{"source":"claude-code","path":"plugins\/org","title":"Manage Claude Code plugins for your organization","documented":false}],"docs_total":3,"gates":[],"related":[{"name":"CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS","slug":"claude-code-sync-plugin-install-timeout-ms","description":"Plugin and MCP server syncing can now run alongside CLI startup under a time budget"},{"name":"CLAUDE_CODE_SYNC_PLUGINS","slug":"claude-code-sync-plugins","description":"Org-synced plugin archives containing a `.git` entry are rejected and re-extracted safely."},{"name":"CLAUDE_CODE_SYNC_PLUGINS_BUFFERED_DOWNLOAD","slug":"claude-code-sync-plugins-buffered-download","description":"When true (`1`, `true`, `yes` or `on`), plugin zips fetched by org plugin sync (`\/api\/oauth\/organizations\/:orgUUID\/plugins\/<name>\/download`) are downloaded whole into memory, checked for a zip header and then written to disk. When unset they are streamed to disk under a stall watchdog (see `CLAUDE_CODE_SYNC_PLUGINS_DOWNLOAD_STALL_MS`)."},{"name":"CLAUDE_CODE_SYNC_PLUGINS_DOWNLOAD_STALL_MS","slug":"claude-code-sync-plugins-download-stall-ms","description":"Milliseconds a streamed org plugin sync download may go without receiving data before it is aborted with `plugin download stream stalled` and reported as a `timeout`. Default `60000`; an unset, non-numeric or below-`1` value uses the default. Has no effect when `CLAUDE_CODE_SYNC_PLUGINS_BUFFERED_DOWNLOAD` is on."},{"name":"CLAUDE_CODE_SYNC_PLUGINS_INSTALL_TIMEOUT_MS","slug":"claude-code-sync-plugins-install-timeout-ms","description":"Milliseconds Claude Code waits for org plugin sync installs, counted from when the sync starts during session setup, before carrying on without them (event `tengu_plugins_sync_wait_timeout`); late installs are picked up when they land. The same value caps the plugin reinstall on a `reload_plugins` control request and forwarded plugin installs. Default `30000`; an unset, non-numeric or below-`1` value uses the default."},{"name":"CLAUDE_CODE_SYNC_PLUGINS_MCP_TIMEOUT_MS","slug":"claude-code-sync-plugins-mcp-timeout-ms","description":"Milliseconds Claude Code waits for MCP servers from synced plugins to be reconciled after org plugin sync before moving on (event `tengu_plugins_sync_mcp_timeout`). Default `10000`; `0` skips the wait (event `tengu_plugins_sync_mcp_skipped`) except while a relay hold is active, where a separate connect budget is used instead."}],"url":"https:\/\/changelogs.core-directive.com\/reference\/env\/claude-code-sync-plugin-install","family_url":"https:\/\/changelogs.core-directive.com\/reference\/env.json"}