Appearance
Troubleshooting
Run liminal doctor first
From an install or cloned repo:
bash
liminal doctor
# or
npm run doctorChecks Node 22+, npm 10+, .env API key, packages/core and packages/tools builds, web client build (warn), and whether PORT (default 3001) is free. Fix hints are printed for each failure. Full install paths: Install guide.
Recent fixes (operator-visible)
vault_writeblocked updating same title — fixed: same-title updates skip dedupe; useignore_dedupe: truefor new editions (Vault briefs).web_fetchappearing stuck 5+ minutes — hard wallAGENT_WEB_FETCH_TOTAL_WALL_MS(default 55s); readability in worker thread; rebuildtools.- Web “stuck processing” — client uses
lastTurnEndedAt+ consecutive idle polls (UI streaming). - Persona bootstrap 500 on first load — server gates API on session ready (Persona bootstrap).
- Large file ends mid-function or mid-tag —
write_filemode: createthenmode: append; see below.
File ends abruptly (incomplete write)
Symptom: Generated file stops mid-string, missing closing braces/tags, or far fewer lines than requested.
Cause: Provider output token limit or stream timeout — the model's tool content argument was cut off before completion. write_file writes whatever it received; integrity=ok only means disk matches that partial string.
Fix:
- Rebuild
core+tools, restart the UI. - Multi-part workflow:
write_filewithmode: createfor the first section, thenwrite_filewithmode: appendfor each follow-up (oredit_filefor small fixes). Verify withfile_metadata. - Raise
AGENT_MAX_COMPLETION_TOKENSif your provider route allows a higher cap. - Keep
AGENT_LENGTH_RESUME_MAXat3(default) so truncated tool JSON auto-continues.
Do not: Call write_file with mode: create twice on the same path — the second call errors. Use mode: append or edit_file.
With AGENT_WRITE_STREAM_SINK=1 (default), partial bytes may land on disk after a cutoff — read the [CONTINUE] message, then write_file mode: append to finish.
See Harness protocol — Large file writes.
Build/Runtime Mismatch
Symptom: UI or tools do not match recent code.
bash
npm run build -w packages/core
npm run build -w packages/toolsRestart TUI/web.
Tool "not loaded for this session"
list_tool_familiesactivate_tool_family(e.g.memory_advancedforread_artifact)
Vault path and dedupe
Wrong location: Set AGENT_VAULT_PATH or rely on Obsidian discovery.
read_file ENOENT on situation-room/...: Notes are in the vault — use vault_search / vault_read.
Near-duplicate on update: Use the same title to overwrite, or ignore_dedupe: true for a deliberate new note — Vault briefs.
read_artifact hanging or useless
Requires AGENT_DISTILL=1 or AGENT_TOOL_BODY_ELIDE=1. If both off, artifacts are not stored — use inline tool output.
When enabled: 25s wall per call, 12MB max file. Activate memory_advanced when lazy tools are on.
web_fetch slow or failing
- Each call capped by
AGENT_WEB_FETCH_TOTAL_WALL_MS(default 55s total) - 403: bot-wall retries, fallback URL template, or
browser_* - Avoid many parallel fetches to slow news sites in one turn
Protocol: Harness protocol — Web research
recall_relevant and max_results
Schema uses k; max_results is accepted as an alias (same cap).
Web stuck processing / SSE
See UI streaming and Web API.
TUI/Web streaming artifacts
- Latest
core/tools/client builds - Flush-before-structure ordering in reducers
- Long-run smoke with heavy tool throughput
Time drift in "Latest" searches
- World context active
- Web search temporal normalization
- Protocol time-anchor rules
Excessive autonomy / missing approvals
AGENT_SAFETY_JUDGE=1- Check
AGENT_YOLO/--yoloif approvals are skipped
Repeated failure loops
- Duplicate-intent suppression in dispatcher
- Research anti-loop rules
- Drift/recovery events
Double assistant reply on “who are you?”
Harness may skip secondary stream continuations — Identity stack.