Projects

desktop app

accshift

Switch between your game accounts in one click, with no password stored: Steam, Riot, Battle.net, Epic and more. On Windows, macOS and Linux.

  • Tauri
  • Rust
  • Svelte
desktop app

Boite

All your work and your AI agents in one place: Claude Code, Codex and others in a single chat window, on your computer and from your phone.

  • Tauri
  • Rust
  • SvelteKit
dev tool

Douane

For developers: use all your AI subscriptions in any coding tool through one server you host, which watches each account's quota.

  • Rust
  • SvelteKit
  • Docker
PS Vita app

Spotivita

Listen to Spotify on a PS Vita: your library, search, artist pages and Spotify Connect.

  • C++
  • VitaSDK
Windows tool

Windows Bagarre

One window that cleans up a fresh Windows 11 install and tunes it for gaming.

  • PowerShell
  • WPF
fastpick
dev tool

fastpick

For developers: pick which AI coding assistant to launch, with which service and model, from one terminal menu, or let a roulette choose.

  • Rust
  • Ratatui
  • crates.io
fast-mcp-ssh
dev tool

fast-mcp-ssh

Lets an AI assistant work on a remote computer: run commands, move files, take screenshots.

  • Rust
  • MCP
  • crates.io
web extension

PriceHover

See a price on a web page in another currency or in crypto: on hover, on a selection or right in the page. Chrome and Firefox.

  • WebExtension
  • TypeScript
  • Svelte
AlarmeMeian
Android app

AlarmeMeian

Control a Meian home alarm from an Android phone, by SMS.

  • Kotlin
  • Android
desktop app

B.O.T.S

A little robot at the top of your screen that watches your Boite agents, tells you when one needs you and lets you answer without opening Boite.

  • Tauri
  • Rust
  • Svelte
desktop app

Cortisoff

Small plugins for your desktop: a night light in the evening, a refresh rate and vibrance for each game, shortcuts. On Windows, Linux and macOS.

  • Rust
  • Lua
  • egui
Projects

desktop app

accshift

  • Tauri
  • Rust
  • Svelte
accshift

Switch between your game accounts in one click, with no password stored: Steam, Riot, Battle.net, Epic and more. On Windows, macOS and Linux.

In pictures

Technical documentation

Download  ·  Features  ·  Platforms  ·  CLI  ·  Privacy  ·  Wiki

Pick an account and the launcher restarts already signed in. accshift never asks for your password: it saves the session the launcher already keeps, and encrypts it on your machine.

Installation

Grab the build for your OS from the latest release:

  • Windows: the -setup.exe installer
  • macOS (Apple Silicon): .dmg, unsigned for now. Run xattr -cr /Applications/Accshift.app once if Gatekeeper complains.
  • Linux: .deb, .rpm or AppImage
  • CLI only: a standalone binary for each OS, see docs/cli.md

Updates install from inside the app.

Supported platforms

Platform Windows macOS Linux
Steam ✅ ✅ ✅
Riot Games ✅
Battle.net ✅ ✅
Epic Games ✅
Ubisoft Connect ✅
Roblox ✅
GOG Galaxy Beta
Jagex Launcher Beta
Discord Beta

Beta 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, or to ask for a platform that is not listed.

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 from the grid, or from the Ctrl+K (Cmd+K on macOS) command palette without touching the mouse.
  • Personas group one account per platform under a single identity and switch them all at once.
  • Streamer mode blurs account names and avatars while OBS, Streamlabs, XSplit, Wirecast or Twitch Studio is running.
  • CLI and deep links (accshift://) for scripts, Stream Deck and automation.
  • Optional PIN lock, on launch and after a period of inactivity.
  • 7 languages: English, Spanish, French, Portuguese, Brazilian Portuguese, Russian and Simplified Chinese.
Organize a large library

Folders, search, drag and drop reordering, card colors and private notes for large account collections.

Every launcher, every theme

The same grid for each platform, in Light, Dark or Midnight, with light and dark acrylic variants and an experimental Liquid Glass theme. Themes are files you can edit, import and export (docs/theming.md).

Steam goes further
  • Copy any game's settings from one account to another.
  • Copy account info in one click: username, SteamID64, CS2 friend code, profile URL.
  • Bulk edit several accounts at once: hide the game news popup at launch, toggle do not disturb, set launch options for any game.
  • Game and community ban tracking.
  • Switch in online or invisible mode, or switch and launch a game directly (the last game chosen is remembered).
  • CS2 Bridge: let an app that tracks your accounts show CS2 level, XP progression and the weekly drop inside accshift. See CS2-Bridge.

CLI

accshift also ships as a command-line binary for scripts, Stream Deck macros and AI automation. It reads and writes the same config as the GUI, and running both at once is safe thanks to an exclusive lock on mutating operations.

accshift platforms                       # platforms known to this build
accshift list <platform>                 # accounts for a platform
accshift switch <platform> <account-id>  # switch, same as a click in the app

Output is a table in a terminal 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.

Privacy

  • No passwords. accshift saves the session state needed to restore an account, session cookies included where required, and nothing else.
  • Encrypted at rest with what the OS provides: DPAPI on Windows, Secret Service on Linux, Keychain on macOS. The threat model and what the PIN lock covers are in the security policy.
  • Telemetry is anonymous counters, opt-out, plus an enhanced tier you opt into. Two switches in Settings, Privacy; both off and nothing is ever sent again. Nothing is sent before you answer the first-launch screen, and no feature depends on it.
What is sent, and what never is

Never sent, in any mode: account names, platform identifiers such as SteamID, passwords, tokens, cookies, persona or folder names, file paths and log files. An event can say "an account was added on Steam"; it cannot say which account. Your IP address reaches the server like any request does; the server derives a country code from it and never stores the address.

docs/analytics.md lists every event and field, shows a real payload, says where the data is stored and how to export or delete it. The client is in crates/accshift-core/src/telemetry/ and the server in server/, both readable in a sitting.

Building from source

pnpm install
pnpm tauri dev     # run the app with hot reload
pnpm tauri build   # installers for your OS

Setup, coding standards and how to propose a new platform are in the contributing guide. Technical references live in docs/.

Project structure
src/lib/                          # Svelte frontend (GUI)
  app/                            # app lifecycle, dialogs, navigation
  features/folders notifications settings
  platforms/                      # per-platform UI adapters
  shared/components contextMenu platform ...
  storage/                        # client storage layer

crates/
  accshift-core/                  # platform logic, config, storage, OS
    src/
      platforms/steam riot ...    # hand-written platforms
      platforms/descriptor/       # JSON-described platforms and their engine
      os/windows linux macos      # per-OS primitives (sysinfo/open/keyring)
      context.rs                  # AppContext trait (replaces tauri::AppHandle)
      lock.rs                     # fs4 exclusive lock
      runtime.rs                  # tokio block_on helper
      config storage logging themes
  accshift-cli/                   # CLI binary (list, switch, platforms)

src-tauri/                        # Tauri GUI thin wrapper
  src/lib.rs commands.rs app_runtime.rs tauri_context.rs
  src/launcher.rs                 # Windows exe: starts WebView2, loads the app DLL

vendor/wry/                       # wry with an early WebView2 start (Windows)

Disclaimer

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.