Connect to Claude Desktop forks into a new anonymous account instead of the signed-in session, and Disconnect intermittently fails to restore it
Title
"Connect to Claude Desktop" forks into a new anonymous account instead of the signed-in session, and Disconnect intermittently fails to restore it
Environment
- macOS (Darwin 27.0.0, arm64)
- Ollama.app (official app bundle,
com.electron.ollama, version 0.34.0 at time of testing) - Claude Desktop (latest, macOS)
Summary
Enabling the Claude Desktop integration from Ollama's app settings ("Connect") does not attach Ollama as a model provider to the user's existing, signed-in Claude Desktop session. Instead, it causes Claude Desktop to boot into a completely separate Electron user-data profile (~/Library/Application Support/Claude-3p) authenticated as a brand-new, unrelated Anthropic account — distinct both from the user's actual subscription account and from the account used in a previous Connect session. On top of that, using "Disconnect" from Ollama's settings does not reliably restore Claude Desktop to the user's normal subscription profile on relaunch, and there is no control inside Claude Desktop itself to reverse this.
Steps to reproduce
- Sign in to a Claude Desktop subscription account normally.
- Open Ollama's app settings and click "Connect" under the Claude app entry.
- Quit and relaunch Claude Desktop.
- Observe that Claude Desktop now loads a different profile/account than the subscription one used in step 1.
- Go back to Ollama's settings and click "Disconnect."
- Fully quit (Cmd+Q) and relaunch Claude Desktop.
Expected behavior
- Step 4: Claude Desktop should remain on the user's existing signed-in session, with Ollama models added as additional entries in the model picker (per Ollama's own documentation: "Ollama doesn't fork Claude Desktop or replace any part of it").
- Step 6: After Disconnect, Claude Desktop should reliably return to the user's original subscription profile with no manual intervention required.
Actual behavior
- Step 4: Claude Desktop creates/loads an entirely separate userData directory (
Claude-3p, sibling to the normalClaudedirectory) with its own cookies, OAuth tokens, and Claude Code session state, authenticated as a freshly-provisioned account UUID that does not match the user's subscription account. Repeating Connect/Disconnect cycles produced a different new account UUID each time. - Step 6: On first reproduction, Disconnect + full quit/relaunch did not restore the subscription profile — Claude Desktop kept loading
Claude-3p. Logging out from within that forked session also did not help. The only way to recover was to manually move/delete the~/Library/Application Support/Claude-3pdirectory from the filesystem — there is no in-app setting to do this. On a second reproduction attempt, the same Disconnect + relaunch sequence did correctly restore the subscription profile, despite theClaude-3pfolder still existing on disk — indicating the failure is intermittent rather than deterministic. - There is no toggle inside Claude Desktop's own Settings UI to view or control this third-party inference/profile state — the only control point is external, inside Ollama's app.
Additional notes
- This is separate from Ollama's model-picker/tier-mapping behavior (Claude gets Fable 5 / Opus 5 / Sonnet 5 / Haiku 4.5 / Sonnet 4.6 each mapped to a specific Ollama model in Settings → Apps → Claude) — that mapping mechanism itself works correctly and appropriately filters to models allowed under the user's Ollama plan.
- Confirmed via inspection of
~/Library/Application Support/Claude/config.json(deploymentMode: "1p", valid OAuth token cache, consistent account UUID) vs~/Library/Application Support/Claude-3p/config.json(different account UUID each time, present viacustom3p-anthropic-console.json/custom3p-bootstrap-oidc.jsonmarker files). - No environment variable,
defaultsdomain, or Info.plist flag was found controlling which profile Claude Desktop boots into — it appears to be entirely internal, undocumented state.
Suggested fix direction
- Claude Desktop's third-party inference mode should attach to the existing signed-in session/profile rather than creating a parallel account, consistent with what's documented.
- Disconnect (or an explicit "reset to default" action) should deterministically restore the prior profile every time, not intermittently.
- Expose some in-app way (in either Claude Desktop or Ollama) to see/clear this state without manual filesystem intervention.
- Update the integration docs to accurately describe this behavior: the current published description ("Ollama doesn't fork Claude Desktop or replace any part of it") doesn't match what's observed. If a separate profile/account is intentional, document that clearly (what it means for the user's existing subscription/account, how to safely switch back, and where any leftover profile data lives) so this doesn't read as silent, undocumented behavior.
Source: ollama/ollama