navig-games
Proactively find & auto-claim FREE games (Epic now; GOG/Amazon/Steam next) and manage your game library. FREE-ONLY: never spends real money.
Works on its own — its own CLI, no navig required · v0.11.0 · PyPI
On its own (no navig needed)
pip install navig-games
navig-games --help # no navig needed
With navig
pip install "navig[games]"
navig games --help
Commands
| Command | What it does |
|---|---|
navig games art |
🖼 Fetch/refresh Steam cover art for your unified (non-Steam) games. |
navig games check |
🔎 Show what's free right now (and, with --upcoming, what's next). |
navig games claim |
🕹 Claim the currently-free games into your account. |
navig games deals list |
Show your manual watchlist (your wishlist is watched automatically). |
navig games deals notify |
🔔 Check deals and fire notifications for anything new (the scheduler target). |
navig games deals unwatch |
Remove an appid from the manual watchlist. |
navig games deals watch |
Add an appid to the manual watchlist (checked alongside your wishlist). |
navig games doctor |
🩺 Full self-check across every subsystem (sourcing, browser, vault, Steam, library, art, deals). |
navig games grab |
Mark a free game as grabbed — it settles, so it stops nagging you. |
navig games history |
📜 What has been claimed / attempted. |
navig games library |
🗂 List installed games across Steam, Epic, GOG and Amazon (local scan). |
navig games login epic |
🔐 Open Epic in a persistent browser, sign in once, and save the session. |
navig games login list |
List stored store sessions/logins. |
navig games login remove |
Remove the saved Epic session. |
navig games schedule disable |
⏹ Remove a recurring job. |
navig games schedule enable |
▶ Register a recurring job (auto-claim · deal alerts · unify to Steam). |
navig games schedule status |
Show all NAVIG-games scheduled jobs. |
navig games status |
ℹ️ Plugin, login, library, Steam & schedule status. |
navig games steam accounts |
List stored Steam Guard accounts (+ live codes). |
navig games steam auth |
🔐 Store a Steam Guard secret (from --shared-secret or a --mafile) in the vault. |
navig games steam code |
🔑 Print the current Steam Guard code. |
navig games steam shortcuts |
List the non-Steam shortcuts NAVIG (or you) added to Steam. |
navig games unify |
➕ Add your Epic/GOG/Amazon games to the Steam library (one library for all). |
Find & auto-claim FREE games across storefronts — surfaced as navig games.
A first-party NAVIG plugin (free, toggleable). Phase 1 ships the Epic Games
Store end-to-end; GOG, Amazon Prime Gaming and a Steam suite follow.
FREE-ONLY — never spends money. The claim engine only ever completes a $0 checkout. Any title with a real price is refused. Three independent gates enforce this: (A) the store API reports a $0 discounted price, (B) the store CTA reads "Get" (Epic never shows "Get" for a priced game), and (C) the checkout overlay total is re-read and must not show a positive amount before the order is placed. Any parse failure resolves toward refuse.
On its own
pip install navig-games # adds the `navig-games` command
navig-games check # what's free right now across Epic, GOG, itch, Steam
navig-games library # every installed game across your launchers
navig-games unify # add them all to Steam, with cover art
navig-games deals # price drops + free-to-keep on your Steam wishlist
navig-games steam code # a Steam Guard code from your stored secret
Settings live in the same config.yaml navig uses and Steam Guard secrets in the shared vault
(navig-vault), so nothing moves when you install navig. Epic sign-in and auto-claim drive
your installed Chrome through navig-browser, with the session saved in the same vault:
navig-games login epic # one-time sign-in; the session is vaulted
navig-games claim --dry-run # checks each freebie is $0 and stops before ordering
Only schedule needs navig (its daemon runs the jobs). Without navig, run
navig-games claim --all --yes or deals notify from your own cron or Task Scheduler.
Quick start (inside navig)
# Free games (Epic)
navig games check # what's free right now (+ --upcoming, --json)
navig games login epic # one-time sign-in; session saved to the vault
navig games claim --dry-run # verify free & stop before ordering (proof)
navig games claim # claim the current freebies (confirm prompt)
navig games schedule enable # auto-claim on a schedule (daily by default)
# Library (Steam / Epic / GOG / Amazon)
navig games library # every installed game across your launchers
navig games unify # add your games to Steam (shortcuts.vdf) + cover art
navig games art <game> # fetch/refresh Steam cover art (--all, --portrait, …)
navig games art --set-key <key> # save a SteamGridDB key for full portrait grids
navig games deals # price drops + free-to-keep on your Steam wishlist
navig games schedule enable --job deals # daily deal alerts (notify)
navig games schedule enable --job unify # keep Steam synced with new installs
navig games doctor # full self-check across every subsystem
navig games steam auth --mafile x # store a Steam Guard secret in the vault
navig games steam code # current Steam Guard 2FA code
navig games history | status | doctor
How it works
| Layer | What it does | Reuses (navig-core) |
|---|---|---|
| Sourcing | Epic's public freeGamesPromotions API → current/upcoming free games |
requests |
| Claim | Persistent, isolated browser → session-first login → $0 checkout | navig.browser.cdp_actions, autofill, session_manager |
| Vault | Store the login session once, restore it thereafter | navig.vault.sessions / logins / totp |
| Ledger | Idempotent record of claimed games (never claim twice) | navig.platform.paths |
| Schedule | Recurring auto-claim job | core CronService (cron_jobs.json) |
| Notify | "Claimed X" fan-out to Telegram / desktop / deck | navig.notify.dispatch |
| Library | Scan installed games from launcher manifests (no login) | Windows registry / VDF / SQLite |
| Unify | Add non-Steam games to Steam (shortcuts.vdf, backup + dedupe) |
own binary-VDF codec |
| Cover art | Steam grid art for unified games (GOG-local keyless · SteamGridDB opt) | requests |
| Deals | Wishlist price-drop + free-to-keep alerts (keyless Steam APIs, alert-once) | sourcing spine + navig.notify |
| Steam Guard | 5-char 2FA code from a vaulted shared_secret |
navig.vault |
| Agent | games_check · games_library · games_deals (read-only) · games_claim (owner-only) |
navig.tools.BaseTool |
| Deck API | /api/deck/games/{status,free,deals,library} for deck/OS/remote |
gateway:register_routes hook (aiohttp) |
Design notes
- The Epic claim flow and the Steam-library discovery are implemented natively — first-party code end-to-end, no third-party engine imported.
- First run requires
navig games login epiconce (Epic mandates a real sign-in); after that, claims restore the vaulted session with no password typed. - Captcha / un-handleable 2FA stops the run and notifies "needs you" — it never loops or guesses.
Roadmap
- Phase 1 — Epic free-game auto-claim ✅
- Phase 4 — unify launchers into Steam · Steam Guard TOTP · cover art · wishlist deals watcher ✅
- Phase 2 GOG free-game claim · Phase 3 Amazon Prime Gaming claim
- Phase 4 (rest) — Steam achievements · cloud-save sync
- Phase 5 — deck/OS "Games" dashboard (free-game feed + deals + one-click unify)
Metadata
Release files for navig-games 0.11.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| navig_games-0.11.0.tar.gz | 117.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| navig_games-0.11.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 215.8 kB