Log in to Cursor from your phone
When Cursor is not authenticated, the new-thread card and the handoff menu mark
it · log in. Tap it, open the browser link shown in the card, and finish the
Cursor login without opening a terminal on the VCode machine.
Why you would use it
You want to start a Cursor thread from a phone, but the Cursor CLI has not been authenticated on the machine running VCode.
How to use it
Open the new-thread card (
#newthread) and tap the agent button (.new-agent).Tap
Cursor · log in. The card asksCursor isn't logged in. Log in?.
Tap Log in (
.agent-login-go). The card shows the browser URL as a link (.agent-login-link) and a Copy link button (.agent-login-copy). Open the link on your phone and complete the Cursor login.
Leave the card open while it checks the login. When it says
Cursor logged in, the card closes, Cursor is selected, and the success toast saysCursor logged in.Pick a folder and tap Start thread (
.new-thread).
You can also log in while handing an existing tab to Cursor:
- Open the agent picker in the composer (
#agentpick). - Tap
Cursor · log in. The handoff menu opens the same login card. - Finish the browser login. The tab hands itself to Cursor after the server confirms the CLI is authenticated.
If a Cursor turn fails with Authentication required, the line at the end of the
transcript reads Cursor is logged out on devbox. with a Log in to Cursor
button (.agent-login-go), as for Claude and Codex.
After the login, VCode sends your message again. If the message was still
queued because Cursor never started, VCode starts Cursor and sends that queued
message once. It does not ask you to retype or duplicate the message.
The settings sheet's Agents group (#settings-agents) also has a Cursor row
with Log in or Log in again; see log-in-to-an-agent.
What you see
The picker suffix is Cursor · log in and the row is amber. The first card says
Cursor isn't logged in. Log in? with Log in and Cancel. After Log in,
the URL is a real tappable link. The status starts with waiting for browser authentication…; a failure says Login failed: <message> and offers Retry.
When it is done the card says Logged in to Cursor. before it closes.
The handoff menu uses the same card and never changes the tab until the server
confirms that Cursor is authenticated.
Options and settings
| Option | Default | What it changes |
|---|---|---|
| Poll interval | 3 seconds | How often the open card asks whether Cursor login has completed |
| Login timeout | 15 minutes | The background Cursor login is killed and marked failed after this limit |
Limits and known gaps
- Claude and Codex have their own steps: see log-in-to-an-agent. OpenCode has no login here.
- VCode never receives the Cursor credentials or the login callback. It
only displays the URL printed by
agent loginand polls the CLI's status. - Closing the card cancels polling, but it does not cancel the vendor login process. Reopen the picker to see the same in-flight login.
Related
- start-a-thread — open the card and create the tab
- the-three-agents — compare Cursor's capabilities
- log-in-to-an-agent — the Claude and Codex logins and the settings Agents group
- reach-it-from-a-phone — connect the phone to VCode