{"version":"2.1.277","anchor":"pluginmcp-reconcile-can-run-concurrently-with-cli-startup-u","canonical_anchor":"pluginmcp-reconcile-can-run-concurrently-with-cli-startup-u","heading":"Plugin sync can now run in the background during startup and idle time, under a time budget","tier":"use","area":"Plugin Install","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277\/e\/pluginmcp-reconcile-can-run-concurrently-with-cli-startup-u","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.277","markdown":"### Plugin sync can now run in the background during startup and idle time, under a time budget\n\nPlugin and MCP syncing now overlaps with startup or idle time under a timeout budget instead of blocking\n\n**What**\n\n- A new idle-time plugin refresh path races the plugin sync against the turn's remaining time budget; if the sync runs long, it still finishes afterward rather than being abandoned. This is controlled by the `tengu_ccr_plugin_refresh_in_idle_enabled` setting.\n\n- Startup can now kick off plugin sync in parallel with the message loop starting, tracked against a `remainingSyncBudgetMs` derived from the `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` setting, and flags when the sync outlives that budget.\n\n- The surrounding loop now also records timing telemetry (`first_message_handle_ms`, `first_message_handle_cpu_ms`, `first_message_handle_loop_lag_ms`) to help track how these overlapping operations affect responsiveness.\n\n**Why**\n\nBy letting plugin and MCP syncing happen alongside startup or idle time instead of blocking it, Claude Code can respond faster while still completing the sync in the background, with a budget so it doesn't take over indefinitely.\n\n- Area: Plugin Install\n- Names: `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS`\n- Tier: Use it now\n- Useful: 3\/5\n- Signal: 3\/5"}