Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Troubleshooting

ankurCES edited this page Jun 8, 2026 · 3 revisions

Troubleshooting

This page lists the most common blumi problems and their fixes, grouped by area — installation, the always-on gateway, the blugo mobile app, the grid, GPU/accelerators, self-healing, and build/CI. blumi is a local-first, provider-agnostic AI coding agent that runs as one Rust binary on macOS and Linux (with an Android app, blugo), so most issues come down to PATH, network reachability, or host/accelerator configuration. Each entry below leads with the symptom in bold and the fix immediately after.

TL;DR / first things to check:

  • blumi: command not found → add ~/.local/bin to your PATH.
  • Gateway unreachable from your phone → you must install with --host <LAN-ip>, not loopback, and share the same Wi-Fi.
  • Non-loopback bind rejects clients → it needs a password; run blumi serve pair.
  • Grid peers don't appear → every node needs grid.enabled: true and the same grid.secret on the same LAN.
  • Which accelerator is active? → run blumi accel doctor.
  • Diagnostics to attach to any issueblumi --version, your OS, and the relevant ~/.blumi/serve.log lines (redact secrets).

Install / run

  • blumi: command not found~/.local/bin isn't on PATH. Add export PATH="$HOME/.local/bin:$PATH" to your shell rc, or set BLUMI_INSTALL_DIR.
  • Source build fails — install Rust (https://rustup.rs); the source path needs cargo.
  • No provider configured — run blumi login. See Configuration.

Gateway (blumi serve)

  • serve status says not runningblumi serve start; check ~/.blumi/serve.log.
  • Phone can't reach it — confirm you installed with --host <LAN-ip> (not loopback) and that phone + machine share the same Wi-Fi. Test from another device: curl http://<ip>:7777/api/health.
  • "password required" — a non-loopback bind must have a password. Run blumi serve pair.
  • Linux: service doesn't start before loginloginctl enable-linger $USER.
  • macOS: "Unload failed" during install — harmless (it pre-unloads a non-existent agent).

Mobile app (blugo)

  • Gateway not discovered — add it by IP (host:port) instead; ensure serve status is running and you're on the same LAN. (Android needs multicast permission, which the app declares.)
  • Login fails — re-check the password from blumi serve pair.
  • Stale view — pull-to-refresh on the chat; cached tabs revalidate automatically.
  • Voice key won't "stick" — keys are write-only; the app shows saved ✓ and never returns them. Re-enter the key to re-authenticate / reload the voice dropdown. See Voice.

Grid

  • Peers don't appear — every node needs grid.enabled: true and the same grid.secret; all must be on the same LAN with mDNS allowed. Verify with GET /api/grid/peers. See Grid.
  • A node vanished after changing the secret — its grid_id changed; restart all nodes with the same secret (identity is set at startup).

GPU / accelerators

  • A Linux build froze / OOM'd the machine. Older builds release-linked the heavy ONNX embedder by default. It's now Apple-default + opt-in elsewhere, so a plain Linux install is lean (FTS5) and doesn't do that multi-GB native link. Only BLUMI_CUDA=1 / --features gpu-cuda pulls it in.
  • error while loading shared libraries: libonnxruntime.so (CUDA build). CUDA's ONNX Runtime is a shared lib; a plain cargo install copies only the binary. The installer's BLUMI_CUDA=1 path ships the .so next to the binary, verifies blumi --version loads, and auto-falls back to a lean build if it can't. Re-run the current install.sh; if you don't need the in-process GPU embedder, use the lean build and run Ollama for GPU LLM + embeddings instead.
  • CUDA build error: "When using download-binaries, a TLS feature must be configured." A non---locked resolve floated ort-sys to a broken release. blumi pins ort-sys = =2.0.0-rc.9 and the installer uses --locked on the CUDA path — reinstall with the current install.sh.
  • Which accelerator is active? blumi accel doctor (also /accel in the TUI, the Status tab in blugo). On Apple Silicon CoreML is on by default; elsewhere it's CPU unless you opted into CUDA. Setting acceleration.mode = "cuda" on a CPU build degrades to CPU with a warning. See Memory & Knowledge → GPU acceleration.

Self-healing

  • Turn it off. heal.enabled = false disables recovery entirely; heal.evolve = "off" keeps recovery + learning but stops any self-modification. See Self-Management.
  • Inspect it. /heal in the TUI or GET /api/heal on the gateway shows recent recoveries, learned fixes, and evolution proposals.
  • A fix didn't get reused. Learned fixes are agent-namespace memories — recall + diffusion need the same prerequisites as any memory (embeddings or FTS5 fallback; grid up for cross-node sharing).

Build / CI

  • CI red on cargo fmt — run cargo fmt --all and commit.
  • Clippy passes locally but fails in CI — CI runs on Linux; macOS-only code must be #[cfg(target_os = "macos")]-guarded or it trips dead_code under -D warnings.
  • A TUI test flakes — tests that set the process-global icon mode must be serialized (a shared Mutex), since cargo runs tests in parallel.

FAQ

Why do I get blumi: command not found after installing?

~/.local/bin isn't on your PATH. Add export PATH="$HOME/.local/bin:$PATH" to your shell rc (or set BLUMI_INSTALL_DIR to a directory already on PATH), then open a new shell.

Why can't my phone reach the blumi gateway?

Almost always because the gateway is bound to loopback. Reinstall the gateway with --host <LAN-ip> (not 127.0.0.1), confirm the phone and machine share the same Wi-Fi, and test from another device with curl http://<ip>:7777/api/health. A non-loopback bind also requires a password — run blumi serve pair.

Why don't my grid peers show up?

Every node must have grid.enabled: true and the exact same grid.secret, all on the same LAN with mDNS allowed. Verify with GET /api/grid/peers. If a node disappeared after you changed the secret, its grid_id changed — restart all nodes with the same secret, since identity is fixed at startup.

How do I tell which accelerator (CPU / CoreML / CUDA) blumi is using?

Run blumi accel doctor (also /accel in the TUI, or the Status tab in blugo). On Apple Silicon CoreML is on by default; elsewhere it's CPU unless you opted into CUDA with BLUMI_CUDA=1. Setting acceleration.mode = "cuda" on a CPU build degrades to CPU with a warning.

A CUDA build fails to load libonnxruntime.so — how do I fix it?

CUDA's ONNX Runtime is a shared library, and a plain cargo install copies only the binary. Re-run the current install.sh: the BLUMI_CUDA=1 path ships the .so next to the binary, verifies blumi --version loads, and auto-falls back to a lean build if it can't. If you don't need the in-process GPU embedder, use the lean build and run Ollama for GPU LLM and embeddings instead.

How do I turn off self-healing?

Set heal.enabled = false to disable recovery entirely, or heal.evolve = "off" to keep recovery and learning while stopping any self-modification. Inspect what it has done with /heal in the TUI or GET /api/heal. See Self-Management.

What should I include when reporting a blumi issue?

Open an issue with blumi --version, your OS, and the relevant ~/.blumi/serve.log lines (redact secrets). For accelerator problems, attach the output of blumi accel doctor.

Still stuck? Open an issue with blumi --version, your OS, and the relevant ~/.blumi/serve.log lines (redact secrets).

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /