Accshift switches game launcher accounts in one click, without signing out or retyping a password.
It works with each launcher's own remember-me mechanism rather than against it: the session the launcher already saved is captured, one snapshot is kept per account on your machine, and the right one is restored when you switch. No password is ever typed into accshift, stored by it or sent anywhere. Sensitive material is encrypted at rest with Windows DPAPI.
Supported on Windows: Steam, Riot Games (Valorant, League of Legends, Teamfight Tactics), Battle.net (Overwatch 2, Diablo IV, World of Warcraft, Call of Duty), Epic Games (Fortnite, Rocket League), Ubisoft Connect (Rainbow Six Siege, The Division 2), Roblox, and in testing GOG Galaxy, Jagex Launcher and Discord.
Also includes personas to switch several launchers at once, a streamer mode that blurs account names and avatars while OBS, Streamlabs, XSplit, Wirecast or Twitch Studio is running, folders, search and a command palette, plus a scriptable command-line binary and accshift:// deep links for Stream Deck and automation.
The interface is available in English, French, Spanish, Portuguese, Brazilian Portuguese, Russian and Simplified Chinese, with light, dark and custom themes.
README
accshift
Switch Steam, Riot Games, Battle.net, Epic Games, Ubisoft and Roblox accounts in one click. No passwords stored. Windows, macOS and Linux. Built with Tauri 2 and Svelte 5.
⚠️ means the integration is built and working on my machine, but too few users
have reported back for me to call it stable. Expect bugs, and
open an issue if you hit
one.
You can request any platform to be added here: GitHub Issues.
Most of these are a JSON descriptor rather than code, so you can add a launcher
of your own without compiling anything: the format, the sandbox rules and the
dry run are in
docs/platform-descriptors.md.
Features
One-click switching: pick an account, the launcher restarts already signed in. No passwords stored
Streamer mode: automatically blurs account names and avatars when OBS, Streamlabs, XSplit, Wirecast or Twitch Studio is running
CLI and deep links (accshift://) for scripting, Stream Deck and automation
Personas: group one account per platform under a single identity and switch them all in one click
Update accshift directly inside the app
Steam goes further
Copy any Steam game settings to another account
Easy access to copy account info (username, SteamID64, CS2 friend code, profile URL)
Bulk edit: edit multiple accounts at once (disable the Steam game news popup at launch, toggle do not disturb, set launch options for any game)
Game and community ban tracking
Switch to an account in online or invisible mode, or switch and launch any game directly (remembers the last game chosen)
CS2 Bridge: connect any app tracking your accounts to display CS2 level, XP progression and weekly drop inside Accshift, see CS2-Bridge
Organise a large library
Folders, search and command palette to manage large account collections
Color and rename account cards, add private notes, reorder by drag and drop
One app, every platform and theme
UI in 7 languages (English, Spanish, French, Portuguese, Brazilian Portuguese, Russian, Simplified Chinese)
Optional PIN lock, on app launch and after a period of inactivity
Light, Dark and Midnight themes, light and dark acrylic variants, and an experimental Liquid Glass theme
macOS: dmg (unsigned for now, run xattr -cr /Applications/Accshift.app once if Gatekeeper complains)
Privacy
Accshift stores no passwords nor sensitive cookies.
Tokens and session snapshots are encrypted at rest on your machine with
OS-backed protections: DPAPI on Windows, Secret Service on Linux, Keychain on
macOS. The threat model, what the optional PIN lock does and does not cover,
and how to report a vulnerability are in the
security policy.
Usage telemetry is a handful of anonymous counters. Nothing is sent before you
finish the first-launch screen, and one switch in Settings, Privacy turns it
all off for good. The app is identical either way, and no feature is gated on
it.
What is never sent, in any mode: account names, platform identifiers such as
SteamID, passwords, tokens, cookies, persona or folder names, file paths, and
your IP address. An event can say "an account was added on Steam"; it cannot say
which account. What is sent is nine counters, the app and OS version, the
locale, and a country code.
Everything is detailed in docs/analytics.md: the full
event list with every field, a real example payload, where the data is stored,
and how to export or delete it. The client is under
crates/accshift-core/src/telemetry/
and the server is in server/, both readable in a sitting.
Building from source
pnpm install
pnpm tauri build
Development
pnpm install
pnpm tauri dev
Setup, coding standards and how to propose a new platform are in the
contributing guide.
CLI
accshift also ships as a command-line binary for scripting, Stream Deck
macros and AI automation. It reads and writes the same config as the GUI:
running both at once is safe thanks to an exclusive lock on mutating
operations.
accshift platforms # list platforms known to this build
accshift list # list accounts for a platform
accshift switch
Output is a table on a TTY and JSON when piped, so scripts get a stable
contract without an extra flag. Install steps, every flag, the versioned JSON
envelope and the exit codes are in docs/cli.md.
This project is not affiliated with Valve (Counter-Strike 2, Dota 2), Blizzard (Overwatch 2, Diablo IV, WoW, Call of Duty), Riot Games (Valorant, League of Legends, TFT), Epic Games (Fortnite, Rocket League), Ubisoft (Rainbow Six Siege, The Division 2), Roblox Corporation, CD PROJEKT (GOG) (Cyberpunk 2077, The Witcher 3), Jagex (RuneScape, Old School RuneScape), or Discord. Use at your own risk.