Disclosure up front: I make Sessions Pro for Cursor, a paid app that does this for you. Everything until the last section is free and needs nothing but Cursor. The Mac commands were tested on macOS 26 and the Windows options on Windows 11, both with Cursor 3.27.
If you have a Cursor account for work and another for your own projects, or one per client, you know the routine: Cursor holds one account at a time, so switching means signing out, signing back in through the browser, and finding your place again. Do that a few times a day and it gets old fast.
The good news is that you can run multiple Cursor accounts at once, side by side, with no logging out. Here is how it works, the free way to do it on Mac and Windows, and the catches nobody mentions until they bite.
Can you have two Cursor accounts?
Yes. A Cursor team member put it plainly on the forum: "Having multiple accounts is totally fine. The only restriction is sharing a single account." So a work account paid for by your employer and a personal Pro account are fine. Two people sharing one login is not.
What decides which account Cursor uses
Cursor is built on VS Code, which is built on Electron. Your login lives in Cursor's data folder, not in some system setting:
| Mac | Windows | |
|---|---|---|
| Data folder (login, chats, settings, window state) | ~/Library/Application Support/Cursor |
%APPDATA%\Cursor |
| Extensions | ~/.cursor/extensions |
%USERPROFILE%\.cursor\extensions |
The sign-in token sits in User/globalStorage/state.vscdb inside the data folder. One data folder, one account. Give Cursor a second data folder and you get a second, completely separate sign-in.
Free method on a Mac: run two instances of Cursor with --user-data-dir
Cursor accepts VS Code's --user-data-dir and --extensions-dir options. Point them at new folders and open -n starts a second copy of Cursor next to the one you already have:
mkdir -p ~/CursorWork/data ~/CursorWork/extensions
open -n -a Cursor --args \
--user-data-dir="$HOME/CursorWork/data" \
--extensions-dir="$HOME/CursorWork/extensions" \
--disable-updates
The new window starts signed out. Choose Log In, finish the sign-in in your browser, and that folder stays signed in to the second account from then on. Your normal Cursor keeps its own account, and both run at the same time.
What each option does:
-
--user-data-dirgives the second copy its own login, chats, settings and window state. -
--extensions-dirkeeps its extensions apart. Without it both copies share one extensions folder. -
--disable-updatesstops the second copy from running Cursor's updater and nagging you about updates. Your normal Cursor still updates, and since both copies run the same installed app, the second one picks the update up too.
Keep the folder path short. This one is easy to miss. Cursor opens a socket file inside the data folder (<data>/3.27-main.sock), and macOS refuses socket paths longer than 103 characters. With a long path, say a folder nested under Library/Application Support/..., the second Cursor flashes up and quits without any error. ~/CursorWork/data is fine.
Free method on Windows: the same options in PowerShell
On Windows, Cursor installs per user. Start a second instance with its own folders:
$work = "$env:USERPROFILE\CursorWork"
New-Item -ItemType Directory -Force "$work\data", "$work\extensions" | Out-Null
& "$env:LOCALAPPDATA\Programs\cursor\Cursor.exe" `
--user-data-dir="$work\data" `
--extensions-dir="$work\extensions" `
--disable-updates
Sign in to the second account in the new window. To make it a double-click, create a shortcut whose target is Cursor.exe followed by the same three options.
Keep each account's agent data apart too
There is one folder the options above don't move. Cursor's agent keeps per-account stores and per-project data outside the data folder (~/Library/Application Support/Cursor/AgentStores and ~/.cursor/projects on a Mac). Two environment variables in Cursor's agent code move them:
open -n -a Cursor \
--env CURSOR_AGENT_STORE_DIR="$HOME/CursorWork/agent-stores" \
--env CURSOR_DATA_DIR="$HOME/CursorWork/cursor-data" \
--args --user-data-dir="$HOME/CursorWork/data" \
--extensions-dir="$HOME/CursorWork/extensions" --disable-updates
On Windows, set them in PowerShell first ($env:CURSOR_AGENT_STORE_DIR = "$work\agent-stores" and $env:CURSOR_DATA_DIR = "$work\cursor-data"), then start Cursor.exe from the same window. I verified these on a Mac; Windows runs the same code.
Where the do-it-yourself way breaks
Running two instances of Cursor works. Living with it is where it gets fiddly:
- They look identical. Same name, same icon, two "Cursor" entries in the Dock and ⌘-Tab, or in the Windows taskbar. Telling work from personal means checking the account in each window. On Windows, people on the Cursor forum report a pinned taskbar shortcut for the second instance opening the first one.
- You start it from Terminal or a shortcut every time. Double-clicking Cursor opens your default account.
-
cursor://links go to your normal Cursor, not to the copy that asked. -
Some things stay shared, by design.
~/.cursoralso holds your MCP servers (mcp.json), rules and skills. Every copy reads the same ones. That's often what you want, but it isn't total isolation. - Never copy your existing data folder to seed the second one. You'd copy the first account's login with it, and the two copies would end up fighting over one session. Start the new folder empty and sign in.
The ways to switch Cursor accounts, compared
| Way | Both accounts open at once | Effort | Catches |
|---|---|---|---|
| Sign out, sign in | No | Every switch | Lose your place each time |
| An account switcher extension | No, one at a time | Low | Swaps the session in one window |
--user-data-dir (above) |
Yes | One-time setup, then a shortcut | Identical icons, shared ~/.cursor, short paths only |
| An app that makes one copy per account | Yes | Click | Paid |
An app that does it for you
This is the part I build. Sessions Pro for Cursor does the setup above for you and handles what comes after:
- On a Mac, each account becomes its own app, like "Cursor Work" and "Cursor Personal", with its own Dock icon and a coloured letter, so ⌘-Tab tells you which is which. A menu bar switcher shows the account in front.
- On Windows, each account opens in its own Cursor window titled with its name, with a tray switcher.
- Each account keeps its own login, chats, settings, extensions and agent data. On a Mac you can start a new account from your current Cursor's settings and extensions (never its login).
- On a Mac, the account copies are rebuilt automatically when Cursor updates, and the update nag stays out of them.
- On a Mac it also shows each account's usage for the billing month, so you can see at a glance which account has room left.
It's $15 one-time for 2 computers, Mac or Windows, with a free 1-hour preview that starts once an account signs in, and a 14-day refund. It isn't affiliated with Anysphere, the maker of Cursor; it runs your installed Cursor as it is.
FAQ
Can I use two Cursor accounts on the same computer? Yes. Each one needs its own data folder: the free method above, or an app that sets that up for you.
Can I run two instances of Cursor at the same time? Yes, as long as each instance has its own --user-data-dir. Two windows of the same instance share one account.
How do I switch accounts in Cursor without logging out? Keep each account signed in to its own instance and switch between the windows, instead of switching the account inside one window.
Will my work account see my personal chats? No. Chats live in each instance's data folder. Only ~/.cursor (MCP servers, rules, skills) is shared.
Does this work with Cursor's free plan? Running several of your own accounts works on any plan. Using extra free accounts to stretch free limits is against Cursor's terms, and nothing here is meant for that.
Top comments (0)