Debugging
This page covers debugging helpers for runtime behavior, wallet and SAT state, and raw model streams. For the browser operator surfaces, start with Diagnostics:- Logs for live gateway log tail, filters, auto-follow, and export.
- Usage for local token accounting by Agent, provider, model, session, task, channel/source, and cache tokens.
- Advanced > Debug for status snapshots, plugin runtime diagnostics, memory repair preview, provider catalog checks, event log, and raw RPC inspection.
- Advanced > Nodes for paired device/runtime diagnostics.
Runtime debug overrides
Use/debug in chat to set runtime-only config overrides (memory, not disk).
This is different from Advanced > Debug in the Control UI. /debug changes
the current runtime override state; Advanced > Debug is an operator
diagnostics surface. /debug is disabled by default; enable with
commands.debug: true.
This is handy when you need to toggle obscure settings without editing fased.json.
Examples:
/debug reset clears all overrides and returns to the on-disk config.
Wallet, SAT, and Fased Network debugging
When the problem is Wallet, Mining, or Fased Network, start with snapshots before you click around in the UI.- wallet provider, custody, and policy status
- signer health and socket reachability
- mining readiness blockers
- live mining capital, commit, cycle, and gap state
- Fased Network token, trust, hosted, and route state
- bond-wallet assignment
- if signer doctor fails, fix signer first
- if mining readiness fails, do not treat the problem as a Fased Network issue yet
- if Fased Network is orange after unlock, check bond state before chasing route bugs
- if the bond Vault is wrong, fix the assignment before topping up or proving
Capture evidence before changing state
For wallet and SAT bugs, the best report usually includes:fased status --allfased wallet status --jsonfased wallet signer doctor --jsonfased mining status --jsonfased federation status --json- the exact UI action that failed
Gateway watch mode
For fast iteration, run the gateway under the file watcher:gateway:watch and they will be passed through
on each restart.
Local rebuild notes
Usepnpm build:fast for normal local rebuilds while the gateway may still be
running. It keeps existing hashed dist chunks in place so in-flight scheduled
tasks do not import a chunk that was deleted during the rebuild.
Use pnpm build:fast:clean only when the gateway is stopped or as part of a
controlled restart/update flow. The clean build removes stale chunks and can
break a live process that is still importing old hashed files.
Dev profile + dev gateway (—dev)
Use the dev profile to isolate state and spin up a disposable setup for debugging. There are two--dev flags:
- Global
--dev(profile): isolates state under~/.fased-devand defaults the gateway port to19001(derived ports shift with it). gateway --dev: tells the Gateway to auto-create a default config + workspace when missing (and skip BOOTSTRAP.md).
fased is missing from a source checkout, run ./install.sh --no-onboard
once to install the CLI.
What this does:
-
Profile isolation (global
--dev)FASED_PROFILE=devFASED_STATE_DIR=~/.fased-devFASED_CONFIG_PATH=~/.fased-dev/fased.jsonFASED_GATEWAY_PORT=19001(browser/canvas shift accordingly)
-
Dev bootstrap (
gateway --dev)- Writes a minimal config if missing (
gateway.mode=local, bind loopback). - Sets
agent.workspaceto the dev workspace. - Sets
agent.skipBootstrap=true(no BOOTSTRAP.md). - Seeds the workspace files if missing:
AGENTS.md,SOUL.md,TOOLS.md,IDENTITY.md,USER.md,HEARTBEAT.md. - Uses the dev identity seeded into
IDENTITY.md; edit that file or the Agent overview identity card when you need a custom dev Agent identity. - Skips channel providers in dev mode (
FASED_SKIP_CHANNELS=1).
- Writes a minimal config if missing (
--dev is a global profile flag and gets eaten by some runners.
If you need to spell it out, use the env var form:
--reset wipes config, credentials, sessions, and the dev workspace (using
trash, not rm), then recreates the default dev setup.
Tip: if a non‑dev gateway is already running (launchd/systemd), stop it first:
Raw stream logging (Fased)
Fased can log the raw assistant stream before any filtering/formatting. This is the best way to see whether reasoning is arriving as plain text deltas (or as separate thinking blocks). Use normal Logs first. Enable raw stream logging only when you are debugging provider stream parsing or reasoning leakage. Enable it via CLI:~/.fased/logs/raw-stream.jsonl
Sharing notes
- Raw stream logs can include full prompts, tool output, and user data.
- Keep logs local and delete them after debugging.
- If you share logs, scrub secrets and PII first.
- For routine support, prefer redacted Logs,
fased status --all, and the focused page state over raw stream dumps.