"Could not load connectors directory" on every Claude Desktop launch (Linux) — marketplace migration runs before account IPC resolves

Resolved 💬 3 comments Opened May 11, 2026 by madmax7774 Closed May 15, 2026

Summary

On every cold launch of Claude Desktop on Linux, a "could not load connectors directory" error is shown in the UI. The directory loads correctly a moment later, so the error is cosmetic — but it appears on every single launch.

Root cause from the logs appears to be a startup ordering race: remoteMarketplaceMigration and remoteUploadsMigration are invoked before the claude.ai account IPC has delivered accountId / orgId, so they fail with "No active account/org for marketplace operations". The account hydrates ~1 second later in the same boot sequence.

Environment

  • OS: Linux Mint 22.3 (Cinnamon, X11), kernel 6.17.0-23-generic
  • Claude Desktop (deb): 1.6608.2-2.0.10 amd64, official Anthropic build (update URL api.anthropic.com/api/desktop/linux/x64/squirrel/update)
  • App version in logs: 1.6608.2, Node 24.15.0
  • Embedded Claude Code (CCD): 2.1.128
  • Account: signed in via OAuth, single org

Reproduction

  1. Fully quit Claude Desktop.
  2. Launch it.
  3. Observe the "could not load connectors directory" error in the UI.
  4. Wait a moment — the connectors directory loads correctly.
  5. Repeat. Happens every launch.

Expected

Marketplace / connectors migrations wait for the account+org IPC to resolve (or for loggedIn=true to settle) before running. No transient error surfaced to the user just because account hydration is still in flight.

Actual

Migrations fire immediately at startup, see accountId=null, orgId=null, and surface a user-visible error. Account hydrates ~1 second later in the same launch.

Log excerpt (~/.config/Claude/logs/main.log, UUIDs redacted)

18:11:39 [info] Starting app { appVersion: '1.6608.2', nodeVersion: '24.15.0' }
18:11:39 [info] [CCD] Initialized with version 2.1.128
18:11:39 [info] [account] Account details not yet available, waiting for IPC...
18:11:39 [info] [remoteMarketplaceMigration] marketplace_migration.invoked
18:11:39 [info] [remoteUploadsMigration]    upload_migration.invoked
18:11:40 [info] [remoteMarketplaceMigration] marketplace_migration.gate_check
                gate=claudeai_cowork_backend_marketplaces value=true
18:11:40 [info] [remoteMarketplaceMigration] marketplace_migration.paths_unavailable
                err=Error: No active account/org for marketplace operations
18:11:40 [info] [remoteUploadsMigration]    upload_migration.paths_unavailable
                err=Error: No active account/org for marketplace operations
18:11:40 [info] claude.ai account details provided
18:11:40 [info] claude.ai account active and logged in
18:11:40 [info] [account] User logged out during IPC wait, stopping early
18:11:40 [warn] [LocalSessionManager]          Cannot initialize sessions: accountId=null, orgId=null
18:11:40 [warn] [LocalAgentModeSessionManager] Cannot initialize sessions: accountId=null, orgId=null

Note the ordering: both migrations log .invoked before [account] Account details not yet available, waiting for IPC... resolves. Also note that [account] User logged out during IPC wait, stopping early fires after claude.ai account active and logged in — that looks like a second related bug (the IPC-wait short-circuit deciding "logged out" right after the account successfully attached).

Suggested fix direction

  • remoteMarketplaceMigration / remoteUploadsMigration should await the account-ready event (or subscribe to it), not fire on app ready.
  • Separately, audit the [account] User logged out during IPC wait, stopping early short-circuit — it's firing even after claude.ai account active and logged in, which looks like a wait/resolve ordering bug.

Impact

Cosmetic but extremely visible. Every launch. Erodes user trust in the connectors feature even though it works fine once the app finishes hydrating.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗