Troubleshooting
Every symptom below names its cause and its fix. If yours is not here, the About card's Open log folder has the file support asks for.
On this page
Scraping
Empty Markdown on a JavaScript site. The static fetch returned an empty shell and Auto did not escalate. Switch Render to Browser, or press Retry with Browser render on the blocked notice. If no browser is installed, the startup banner’s one-time Chromium download (~150 MB) fixes the whole class.
The data is in the network tab, not the page. The page builds itself from API calls. Set Capture XHR (Advanced) to a pattern like /api/.*, run with Browser render, read the XHR tab. Bodies are capped at 50 entries × 64 KiB.
A site that worked yesterday returns a challenge. Bot defenses change. Try a TLS fingerprint and a browser header profile; a session may also help if the wall is a login in disguise. Magpie detects and reports challenges — it does not defeat CAPTCHAs or bot protection, deliberately.
“Blocked by robots.txt”. The site disallows this crawl. Pick a narrower seed or path prefix, or a page the robots file permits. The CLI’s --ignore-robots exists but prints a warning; respect it instead.
A page redirects to a login. Capture a session — Settings → Sessions, log in once in the real window — and the scrape attaches it automatically (Sessions).
Extraction
Extraction failed — the fetched page is below. The fetch worked; the LLM step did not. A missing key adds an Open Settings button — set it and press Re-extract. A spent cap raises Max cost USD or the budget.
Empty or wrong fields after a site redesign. The learned selectors went stale. Settings → Cache inspector → Heal the domain, then re-run; or tick Bypass selector cache for one run. The next successful run re-learns.
Every run bills LLM calls on a site that used to be free. Same cause, quieter symptom — the cache misses and every page falls back to the model. Heal it and watch the telemetry bar for selector cache hit afterwards.
“Research can’t start”. The stated reason is the actual one: a missing key or a reached budget. Open Settings from the alert’s button, then retry — the compose form keeps everything you typed.
The app
“Settings unavailable” / “History unavailable”. Another Magpie process holds the store lock — usually the CLI mid-crawl. Let it finish or close it, then reopen the screen. The app and the CLI share one SQLite file by design.
The app turned read-only. The trial’s 5 runs are used, or the licence lapsed. Reads, exports and settings keep working; activate a key in Settings → Plan. Offline is tolerated for 14 days before this happens.
Window opens and immediately closes (Linux). WebKitGTK 6.0 is missing — the packages depend on it, so this bites source builds. sudo apt install libwebkitgtk-6.0-0.
SmartScreen warning (Windows). The installer is not code-signed yet. More info → Run anyway — once, and the note disappears when signing lands.
A second launch does nothing. One instance runs per configuration directory; the second launch focused the first. Look in the tray.
Preferences reset after a crash. A corrupt desktop.json is kept as desktop.json.bad and defaults load with a startup notice — the licence and trial ledger come back from their keychain copies. Fix the reported file or remove it, then restart.
Automation
Watch checks stopped. The app must be open — checks run on a 30-second tick while it is. Enable Keep running in the tray and Start at login (Settings → Background), or move the schedule to cron with the CLI’s --once (Schedules).
A watch shows failing. Hover the badge for the verbatim error. Usually a page-level change — a challenge, a redirect to login, DNS. Check now while watching the drawer to see it live.
MCP tools refuse with a plan error. The in-app server needs an active licence (MCP setup). The card on Overview states this instead of offering a start that can only fail.
Connected agents stopped after a token change. New token invalidated the old one. Copy the new token and re-add, or reconnect — the buttons on the Overview tile do the merge.
Webhook deliveries missing. Deliveries run while the app runs; failed attempts retry 3 times over ~30 seconds. Open the endpoint’s delivery log (last 20) in Settings → Webhooks for the response status and error.
Still stuck: Settings → About → Open log folder, and write to support with the version string from the same card.