steamie LargeModGames
winget install --id=LargeModGames.steamie -e steamie is a terminal-native Steam client written in Rust. Browse your game library, chat with friends, and launch games right from your terminal — no Steam desktop window needed.
winget install --id=LargeModGames.steamie -e steamie is a terminal-native Steam client written in Rust. Browse your game library, chat with friends, and launch games right from your terminal — no Steam desktop window needed.
> A terminal-native Steam client written in Rust, powered by Ratatui. > > Browse your library, chat with friends, and launch games — all from a fast, keyboard-driven TUI, > with no browser and no Steam window in your way.
> Unofficial. steamie is an independent project and is not affiliated with, endorsed by, or > sponsored by Valve or Steam. It talks to Steam's own connection-manager protocol the same way the > official client does; use it at your own discretion.
t cycles
All / Games / Software-Tools).FriendMessages service, with local history kept
per-conversation.> steamie requires Rust 1.85+ (it uses edition 2024) when building from source.
# Cargo (installs the `steamie` binary)
cargo install steamie
# Arch Linux (AUR) — prebuilt binary (faster)
yay -S steamie-bin
# Arch Linux (AUR) — build from source
yay -S steamie
# Homebrew (macOS)
brew install LargeModGames/steamie/steamie
# Windows (winget)
winget install steamie
Or download a prebuilt binary from GitHub Releases.
git clone https://github.com/LargeModGames/steamie.git
cd steamie
cargo build --release
./target/release/steamie
cargo run --bin steamie works too for a debug build. No special system libraries are required —
networking uses rustls and desktop notifications use zbus, so there's no OpenSSL, X11, or audio
dependency to install.
Configuration is optional — steamie runs with sensible defaults. To customize, create
~/.config/steamie/config.toml:
# api_key = "YOUR_STEAM_WEB_API_KEY" # optional fallback; https://steamcommunity.com/dev/apikey
# steam_id = "76561198XXXXXXXXX" # optional; auto-detected after login
[auth]
method = "qr" # "qr" (default) or "credentials"
account_name = "" # optional hint for credential login
[ui]
tick_rate_ms = 250 # default 250
theme = "dark" # default "dark"
[chat]
notifications_enabled = true # terminal bell on incoming message
desktop_notifications = false # also raise a notify-rust desktop notification
history_retention_days = 30 # local chat history kept; 0 = keep everything
[launch]
steam_path = "" # override; auto-detected (registry / default path) when empty
dry_run = false # log the exact launch command instead of spawning it
kill_steam_on_exit = false # if steamie started Steam, shut it down when the game exits (best-effort)
silent = true # start Steam minimized to tray (no window); false shows it
direct_launch = false # experimental: launch DRM-free-listed games with NO Steam running
force_direct = false # experimental: with direct_launch, try the direct path for any installed game
[launch.game_args] # optional per-game args, keyed by appid string
# "730" = "-novid -high"
Run steamie to start the UI. Press ? at any time for the in-app keybinding help.
| Key | Action |
|---|---|
j / ↓ | Move down |
k / ↑ | Move up |
g g | Jump to top |
G | Jump to bottom |
Enter | Open detail · launch in detail view |
l | Launch highlighted game |
L | Recently-played quick-launch overlay |
Esc / Backspace | Go back |
/ | Search library |
t | Cycle library type filter (All / Games / Software-Tools) |
r | Reload current view |
1 … 5 | Switch tab: Library · Friends · Wishlist · News · Chat |
? | Toggle help |
q / Ctrl+C | Quit |
From the Library tab: press l to launch the highlighted game, Enter to open its detail
view (then Enter/l to launch), or L for a recently-played quick-launch overlay.
By default the game launches through the official Steam client, but Steam stays out of your way:
it starts minimized to the system tray with no window (steam -silent -applaunch ), the game
appears, and DRM/presence work normally. Set silent = false if you'd rather see Steam's window.
Experimental — launch with no Steam at all. Games that are confirmed to run without the Steam
client (DRM-free titles) can be launched directly from their executable, so Steam never wakes. Enable
it with direct_launch = true; a game is eligible when it's on the community
DRM-FREE-GAMES.md list and installed. Anything else falls back to the silent
Steam launch above. The status line shows ▶ Launched X (no Steam) when it goes direct.
kill_steam_on_exit only ever shuts down a Steam that steamie itself started, and is best-effort
(reliable on Windows, weaker on Linux, a no-op on macOS). Set dry_run = true to preview the exact
command a launch would run without starting anything.
DRM-FREE-GAMES.md is a community-maintained table of Steam games that run with
Steam fully closed. To add a game: quit Steam, confirm the game still launches from its
steamapps/common// executable, then add a row with its AppID and name and open a PR. You can
also keep a private list at ~/.config/steamie/drm-free.md (same format).
force_direct on a DRM-protected game spawns an executable that will bounce (Steam isn't running)
and won't auto-recover.kill_steam_on_exit detection is best-effort: reliable on Windows (registry), weaker on Linux, a
no-op on macOS.steamie is a Cargo workspace with three crates:
steamie-api — Steam Web API / Store API HTTP client.steamie-core — config, session, caching, the game launcher, and local chat history.steamie — the ratatui terminal UI (produces the steamie binary).The raw Steam connection-manager protocol (WebSocket connection, auth, friends, service calls) lives in a separate crate, steam-cm-protocol (crates.io).
cargo run --bin steamie # run (debug)
cargo build --release # release build
cargo check --workspace # type-check everything
cargo test --workspace # run tests
cargo clippy --workspace --all-targets -- -D warnings
cargo fmt --all # format
See CONTRIBUTING.md for the full contributor guide.
ChatRoom.*)Have an idea? Open a Discussion or an issue.
Contributions are welcome — code, docs, bug reports, and additions to the DRM-free games list. See CONTRIBUTING.md and our Code of Conduct.
Found a vulnerability? Please report it privately — see SECURITY.md.
Built and maintained by LargeModGames.
MIT.