Troubleshooting
The problems users actually hit, and what fixes them. AI-side first (it’s where most questions land), then pointers for everything else.
AI providers and models
Section titled “AI providers and models”Test returns Offline.
- For cloud providers: usually an invalid API key, or a key with insufficient permissions. Verify on the provider’s dashboard.
- For local providers: the server isn’t running. Start it from the terminal.
- Check the URL doesn’t have a typo. For the Ollama (native) preset the default is
http://localhost:11434— no/v1. For a generic OpenAI-compatible provider (LM Studio, llama.cpp’s own server, vLLM) the URL usually needs the/v1suffix — LM Studio’s default ishttp://localhost:1234/v1.
“The AI provider can’t be reached” on a long answer, while short ones work.
- The answer took longer than the provider’s Timeout (seconds). Raise it: AI page → the provider’s Edit. The built-in provider’s is 900 seconds; a local model thinking at High can need several minutes.
Local model is very slow.
- Most likely you don’t have enough RAM. A 7B model wants ~8 GB free; a 13B model wants ~16 GB. Try a smaller model.
- A GPU helps enormously. CPU-only inference is feasible but slow.
The model doesn’t return useful results.
- Small local models (under 7B parameters) may not be good enough for critique or entity sweep. Try a larger model.
- Some quantizations are noticeably worse than others. Try a higher-quality quant (Q5_K_M or Q6_K rather than Q4_K_S).
- For writing tasks, larger context windows help. Check that your model has at least 8K context.
OpenAI is charging me unexpectedly.
- Check Settings → AI Usage for the breakdown by feature.
- The biggest spenders are usually: critique on long chapters, and “Ask the book” if auto-rebuild RAG is on.
- Pin expensive features to cheaper models or local ones.
An AI call seems hung — should I wait or give up?
- Open the AI task panel from the sparkle chip in the title bar (see Watching AI calls).
- A live (green) freshness dot means tokens are still arriving; trust the wait, especially for big analysis features.
- A stalling (gold) dot means no tokens in a few seconds; usually still recoverable.
- A stuck (red) dot means nothing has arrived in 10+ seconds. Hit Cancel and try a different model.
A model refuses a thinking / reasoning request.
- The error you see is the provider’s own message, with one sentence naming the fix: turn Thinking off on that feature’s preset, or point the preset at a model that can think. Nothing is filtered or silently retried — see Models for how the Thinking control resolves.
“The answer was cut off.”
- The model ran out of room before it finished, so the run is marked failed rather than handing you half an answer. A half answer is worst for the analysis tools: thread extraction would have read it as “nothing found”.
- Two causes. The feature’s preset has a Max tok cap and the answer hit it: raise the number or clear the box (0 = no limit). Or the chapter sent was too long for the model’s context: try a model with a larger context, or run the feature on a shorter chapter. Thinking counts against both, because the hidden reasoning is part of the answer.
The app can’t reach its server
Section titled “The app can’t reach its server”“Can’t reach the JustWrite server.” The desktop app starts its own server; when that start fails, this page says why, if it knows:
- “Another JustWrite server is using this data folder (…) — stop it first.” — another JustWrite server, such as one you started yourself on another port (Headless access), has the same data folder open. Stop it, then press Retry.
- “Port 17495 is in use by another program — close that program, then press Retry.” — another program holds JustWrite’s port.
- “Another person signed in to this computer has the app open, on port 17495…” — someone else signed in to this computer is running JustWrite, and only one copy can run at a time. They quit theirs from its tray icon; then press Retry.
- “Windows has reserved port 17495 for another use (Hyper-V, WSL or Docker)…” — Windows keeps
that port for one of those tools, so the desktop app can’t start its server there. You can still
run the server yourself on another port with
--portand open it in a browser (Headless access). - “Its server stopped as it started: …” — the server’s own error follows, such as a database it couldn’t open or a data folder it couldn’t use (Storage & engine).
Retry starts the server again.
Everything else
Section titled “Everything else”- Data, snapshots, restoring — Backups and data
- Where data lives, moving it — Storage & engine
- Running headless / in a browser — Headless access
- Model downloads, tuning, GPU memory — Models