Skip to content

Commit d0ef7d4

Browse files
docs: how to sync provider accounts to another machine
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent 1348bcd commit d0ef7d4

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

‎docs/internals/providers.md‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,16 @@ client connections and provider-instance rebuilds. Releases are immutable, with
4949
selecting the version for new processes. Running processes hold leases on their version. Updates
5050
and removal must respect those leases instead of replacing executables under a running agent.
5151

52+
[Account sync](../../apps/server/src/provider/ProviderAccountTransfer.ts) copies a provider
53+
instance between environments through the client, and sessions never travel. Codex and Antigravity
54+
sign-ins rotate or belong to the provider's own tooling, so the destination signs in for itself.
55+
Only a static credential T3 owns can move, and Cursor's named API key is the one such credential:
56+
its `exportStaticCredential` hook describes it as the `CURSOR_API_KEY` variable that reproduces it
57+
elsewhere. The destination decides what is secret and what is machine-local from its own schema
58+
annotations and derives every secret-store name itself, so the wire carries typed slots, never
59+
store names. `provider.account.export` is the one RPC that returns saved static secrets to a
60+
client, which is why both ends sit behind `providers:manage`.
61+
5262
## Setup must not happen as a health-check side effect
5363

5464
Opening a provider session can start MCP servers, run hooks, or launch a login browser.

‎docs/user/remote-access.md‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,24 @@ on that machine. Existing threads stay where they started. If resource checks ar
119119
unavailable or all eligible machines are full, choose a machine manually to continue.
120120
Mobile keeps its manual environment selection.
121121

122+
### Sync accounts to another machine
123+
124+
Once two machines are connected, you can copy provider accounts from one to the
125+
others instead of setting each up by hand. On web or desktop, open
126+
**Settings → Providers** for the source machine, then choose **Sync accounts** in
127+
the header, or **Sync to…** on one account. Tick the accounts and the machines,
128+
then choose **Sync**.
129+
130+
Each copy keeps the account's settings and API keys. A Cursor sign-in arrives on
131+
the other machine as an API key. Sign-ins themselves are not copied. Each machine
132+
signs in on its own, and paths such as binary locations and config directories
133+
stay where they were set. When a copy still needs a sign-in, the result list offers
134+
**Sign in on** that machine, which opens its provider settings. Keys travel through
135+
this client, the same way a key you type into provider settings does.
136+
137+
Syncing again updates the copies instead of duplicating them. A machine on an
138+
older version is listed but cannot be chosen until it updates.
139+
122140
### Tailscale HTTPS
123141

124142
Join both devices to the same tailnet. In the desktop app, enable **Tailscale

0 commit comments

Comments
 (0)