Troubleshooting

The most common issues people hit. If yours isn't here, run furx doctor (writes a redacted report) and open a Discussion on GitHub.

Ollama not detected

Cause: Ollama isn't listening on the default 127.0.0.1:11434, or you renamed the binary.

Fix:
Check with: curl -s http://127.0.0.1:11434/api/version
If empty, run: ollama serve &
If on a non-default port: set FURX_OLLAMA_URL=http://127.0.0.1:NNNN in the environment.

macOS: 'Furx can't be opened because Apple cannot check it'

Cause: Gatekeeper has not yet validated the notarization (first launch on a fresh download).

Fix:
Right-click Furx.app → Open → confirm. macOS will remember the choice.
If stapling is broken: spctl --assess --type execute --verbose Furx.app
If unsigned (you built from source): xattr -cr Furx.app

Linux: tray icon missing on GNOME 40+

Cause: GNOME removed system tray support. Tauri uses libappindicator as fallback.

Fix:
sudo apt install libappindicator3-1 gir1.2-appindicator3-0.1
# Or use the AppImage which bundles it
chmod +x furx_0.2.0_amd64.AppImage && ./furx_0.2.0_amd64.AppImage

Linux Wayland: window doesn't render or NVIDIA driver issues

Cause: Tauri/wry has known issues with NVIDIA + Wayland.

Fix:
Set WEBKIT_DISABLE_DMABUF_RENDERER=1 before launching:
WEBKIT_DISABLE_DMABUF_RENDERER=1 furx
# Or add to ~/.profile

Windows: SmartScreen 'PC protected'

Cause: Fresh release hasn't accumulated reputation yet (will fade after ~1000 installs).

Fix:
Click 'More info' → 'Run anyway'. We sign with Azure Trusted Signing — the cert is valid,
SmartScreen just doesn't recognize it yet because it's new.

MCP server connection fails

Cause: MCP server binary not on PATH, or wrong env / args.

Fix:
Check: Furx → Settings → MCP → click the failing server → see stderr.
Common: env vars not exported. Use ref:keychain:<alias> instead of plaintext env.

Council Mode: 'All voices failed'

Cause: Every provider in the preset is rate-limited, errored, or timed out.

Fix:
Switch to a different preset (Local works if you have Ollama).
Check provider status in Settings → Connect → see which is yellow/red.
Wait for rate-limit window to clear (Cerebras 1M tok/day resets at UTC midnight).

Trial says 'expired' on day 5

Cause: Clock skew between your machine and our license API.

Fix:
Sync your system clock (sudo sntp -sS time.apple.com on macOS).
Then in Furx: Settings → Account → Refresh license.

Auto-update fails with 'minisign signature mismatch'

Cause: Corrupted download or the wrong updater key (we rotated 2026-05-27).

Fix:
Re-download from /download/ manually and reinstall.
The bundled pubkey is in tauri.conf.json; if you have a v0.1.x build, auto-update is intentionally broken — manual install required for v0.2.0.

Audit log file growing too large

Cause: Council dispatches generate ~1 KB per voice; heavy use can hit 100 MB / month.

Fix:
Settings → Audit → Retention → set 90 days.
Manual: furx audit prune --before "30 days ago".
Cloud sync (Pro+) only keeps the last 30 days server-side.

furx doctor

Run this first if anything weird happens. It checks: Tauri version, signing cert, audit DB integrity, Keychain access, provider connectivity, Ollama presence, MCP servers reachable.

$ furx doctor

✓ Tauri 2.7.1 OK
✓ Audit DB ~/.furx/furx.db OK (52,401 events, 12 MB)
✓ Keychain readable (3 entries: furx-provider-openrouter, furx-provider-anthropic, furx-license)
✗ Ollama: 127.0.0.1:11434 not responding (start with: ollama serve)
✓ MCP filesystem OK (5 tools)
✓ License API reachable (last-sync 2 min ago)

Report saved to /tmp/furx-doctor-2026-05-27.txt