Skip to main content

Claude Desktop

One Connect command, then a full relaunch. Deeper mechanics are in the Desktop reference.

On a company-managed Mac or PC, this is your IT team's job

MDM-managed Claude Desktop ignores local values, so the steps below cannot route it. It needs a pushed profile: Managed fleet. Everything else on the machine is per-user and routes right away.

1
Run Connect
anyray-connect desktop

This puts Claude Desktop in its third-party inference (Gateway) mode. On a macOS build Connect cannot verify, nothing is written. Use the in-app flow instead.

2
Relaunch Claude Desktop

Fully quit (⌘Q on macOS, because closing the window leaves it running), then reopen.

3
Sign in to the empty profile

The app opens signed out, with no conversations. The third-party profile (Claude-3p) has never held a Claude account session, so this is expected. Nothing is deleted, and your chats stay at claude.ai.

Sign in with the same Claude account as before. That is what lets Connect finish copying your local data. To get the chats themselves back, see Bring your data across.

4
Verify
anyray-connect doctor --verify
Which lane bills the request

A verified macOS build with Claude Code signed in rides your own Claude subscription. Everywhere else, meaning org and API mode plus all of Windows, requests bill through your personal ark_… key. A lane that cannot read its credential fails closed, never a silent switch to API billing. Per-platform detail: Billing lanes.

The model picker can pick a pricier default

It follows the inferenceModels policy key. Unset, Claude discovers models from the gateway and picks its own default, which can cost more than intended. See Model list and the default model.

If your organization manages Claude on claude.ai

Third-party inference and claude.ai organization management are mutually exclusive. The inferenceProvider policy key is what activates gateway mode. On the first launch after setup, an Enterprise org sees this:

What changes
The claude.ai admin console stops deliveringManaged connectors and MCP servers, plugins, skills, model policy, workspace policy
UnaffectedClaude Code. It routes to the gateway, and its claude.ai login stays saved
Your admin surface becomesThe managed configuration profile (Managed fleet)

Nothing is deleted, and it all applies again when the app returns to first-party mode. Connect cannot export organization settings or connector grants from claude.ai, and not every connector survives the move.

Keeping Desktop first-party is a supported outcome too, and once such a profile is installed Connect refuses to change the app: Keep Claude Desktop first-party.

Bring your data across

The new profile starts empty. Your local data comes back on its own, and your claude.ai chats need an export.

Connect copies the local data for you:

What copiesWhich ones
SessionsClaude Code sessions and Cowork tasks
Local MCPEntries that are not Anyray's
PluginsThe ones you installed yourself
SkillsThe ones you wrote yourself

It copies, never moves, and never overwrites. Your old profile stays as it was. The copy finishes after you sign in to the new profile and quit the app.

Your claude.ai chats live in your Claude account, so only you can export them. Connect never holds that session.

1
Export from claude.ai

Settings → Privacy → Export data. Anthropic emails a download link. Keep the .zip file, because the next command takes the archive itself.

2
Quit Claude Desktop

A running app rewrites its conversation list on exit and would undo the restore.

3
Restore
anyray-connect migrate --export ~/Downloads/claude-export.zip

This needs the Claude Code CLI on the same machine, because Connect converts the export with Claude Code's own importer. Without it, the restore refuses. Windows, PATH, and Projects: Put them back in the app.

4
Reopen Claude Desktop

Your chats are under Cowork → Recents, not Chat. Your Projects came across too, each one a Cowork space.

To search every past chat from any Anyray-connected client, unzip the same export and import the conversations file. This route needs no Claude Code CLI, and you can run it as well as the restore above:

anyray-connect history import ~/Downloads/claude-export/conversations.json

The archive stays local, owner-only under ~/.anyray/history, and is never uploaded. Make them searchable everywhere.

Undo

anyray-connect desktop disconnect

This returns the app to the previous profile at any time. It removes only Anyray-owned state.