When something goes wrong, start by checking three places: the Fetcher health panel in the dashboard (exit codes and chip states), the run logs written toDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Ogrods/BAKLOG/llms.txt
Use this file to discover all available pages before exploring further.
profiles/<id>/cache/runs/*.jsonl (full stdout and stderr for every fetcher run), and the sticky red toast that appears in the top-right corner of the browser when a JavaScript error is caught. Most problems are one of the known issues below.
Auth failures (exit code 4)
Auth failures (exit code 4)
Symptom: The fetcher exits with code
4 and the Connections card shows “reconnect required.”Sessions expire on different schedules per store. Epic wishlist, Nintendo, and cookie-based stores tend to need refresh more often than API-key stores like Steam.Fix:- Open the Connections tab and click Reconnect for the affected store.
- Complete the headed browser sign-in flow again.
- Re-run the fetcher from Fetcher health or from the terminal.
Suspicious empty result (exit code 2)
Suspicious empty result (exit code 2)
Symptom: The fetcher refuses to write an empty file; the log mentions exit
2.Cause: Baklog preserves stale data when a fetch returns zero items unexpectedly. This protects you from a store outage, an auth glitch, or a privacy setting blocking the library from being read.Fix:- Confirm the store’s privacy settings allow the library to be read — for example, Steam requires Game details: Public, and PSN trophies must be set to Anyone.
- Reconnect on the Connections tab and retry.
- If you genuinely have zero items (a brand-new account), run the fetcher with
--allow-emptyto override the guard.
GOG 403 Forbidden
GOG 403 Forbidden
Symptom: This reads
fetch_gog.py fails with a 403 Forbidden response when using the web source.Fix:- Reconnect GOG on the Connections page — this refreshes the
gog-alsession cookie that the embed API requires. - On Windows or macOS with GOG Galaxy installed, you can read the local database instead:
galaxy-2.0.db directly and bypasses the embed API entirely.Windows: fetcher hangs or run queue wedges
Windows: fetcher hangs or run queue wedges
Symptom: A fetcher chip spins forever with no log output and the run queue never clears.Cause: The fetcher subprocess was launched from the Microsoft Store
python.exe stub rather than the project virtual environment. The stub intercepts subprocess.Popen in a way that hangs the queue.Fix: Always start the server using the venv Python binary:server.py auto-detects and uses .venv when it is present, so this is the correct launch path. The Windows shortcut at .\scripts\start-server.ps1 handles this automatically.Chrome / Edge not found
Chrome / Edge not found
Symptom: The Connections sign-in flow fails to open a browser window.Fix:Add this to your
- Install Google Chrome or Microsoft Edge (Edge ships with Windows by default).
- If your browser is installed in a non-standard location, set the full path in your environment:
.env file or set it as a system environment variable before starting server.py.Battle.net cookie issues (Windows)
Battle.net cookie issues (Windows)
Amazon on macOS / Linux
Amazon on macOS / Linux
Symptom: The Amazon launcher card shows Unavailable on macOS or Linux.Expected behavior: The Amazon Games launcher database is a Windows-only local source. It reads a DPAPI-encrypted SQLite file from the desktop launcher with no portable equivalent on other platforms.Fix: Use the web source instead. Connect Amazon (Prime Gaming, web) from the Connections tab, then run:The fetcher auto-picks the web session when the launcher DB is unavailable.
GOG Galaxy on Linux
GOG Galaxy on Linux
Symptom: GOG Galaxy (local) shows as unavailable on Linux.Expected behavior: There is no supported Linux GOG Galaxy path.
galaxy-2.0.db exists on Windows (ProgramData) and macOS (Shared) but not on Linux.Fix: Use the GOG web source instead. Connect GOG (web) from the Connections tab — the web fetcher works on all platforms.Count differs from the store
Count differs from the store
Symptom: Baklog shows fewer games than Steam, Epic, or another storefront.Cause: Stores pad your library with entries that are not games — DLC skins, soundtracks, wallpapers, betas, store apps, and internal entitlement slugs (such as
Fortnite_StWContent). Baklog filters these out automatically via the built-in blacklist (isJunkEntry() in js/game-core.js, mirrored by Python source filters). This is intentional.Separately, Nintendo eShop fetch covers approximately two years of digital history only — cartridge purchases and older digital orders are not included and need to be added manually.If you want to hide a real game you own but don’t want to see, use the Hidden games panel. Those entries can be restored at any time. The blacklist, by contrast, is never shown and cannot be restored.Wishlist chip shows 'missing'
Wishlist chip shows 'missing'
Symptom: Fetcher health marks a wishlist file as missing.Expected behavior: Wishlist JSON files are optional per store and only appear after you have run the matching wishlist script. The chip is informational — it does not indicate an error with your library data. See the Connecting Stores guide for per-store wishlist setup.
Stall watchdog messages in the log
Stall watchdog messages in the log
Symptom: The log prints
[server] no output for Ns - still running during a fetch.Expected behavior: This is informational only. The watchdog fires when stdout has been silent for more than 30 seconds — common with large Steam libraries on first run, which can take several minutes. The process is not killed; it will complete on its own.Read-only mode: edits not saving
Read-only mode: edits not saving
Symptom: Status changes and notes disappear after a page reload.Cause: When Baklog is served via
python -m http.server, personal edits are stored in localStorage only and cannot be written back to data/personal.json.Fix: Run python server.py instead, which enables the write-back API. On first server boot, a banner offers to migrate any existing localStorage data into data/personal.json automatically. Alternatively, use Export notes and Import notes in the toolbar menu to move data between sessions.Exit code quick reference
| Exit code | Meaning |
|---|---|
0 | Success — data written |
1 | General / unexpected error |
2 | Suspicious empty result — zero items returned; stale data preserved |
3 | Missing dependency or configuration error |
4 | Auth failure — session expired or credentials invalid |