<message> pill on the inbox row, with a Retry button next to it. The pill tooltip shows the full error message; the row stays in this state until you retry or the next attempt succeeds.
Common errors and how to fix them
”Cannot connect to AI backend. Make sure Ollama is running…”
You’re configured for Ollama (or a Custom endpoint with a localhost URL), and Runwita can’t reach it. Fix: open Terminal and runollama serve if Ollama isn’t running. Or check that your custom endpoint is up. Or switch the active provider to Claude or OpenAI in Settings → Models.
”AI request failed (401): …”
Bad API key. The provider rejected your credentials. Fix: Settings → Models → check the API key for the active provider. Generate a new one in the provider’s console if needed. Save and retry.”AI request failed (429): …”
Rate limit. You’ve sent too many requests too quickly, or you’re out of budget on the provider’s billing side. Fix: wait a few minutes and retry. If it persists, check your provider account, you may have hit a hard quota or your billing card may have expired.”AI response was truncated (model X). We requested Y tokens but the upstream cut off earlier…”
The model ran out of output budget mid-response. Common with smaller models or with merged extractions where the input is huge. Fix: switch to a model with a larger output cap. Recommendations:claude-haiku-4-5 (64K cap), claude-sonnet-4-5 (64K), gpt-4.1 (32K). The tier is set in Settings → Models. You can also reduce the input by un-merging some inbox items if you’re running a merged extraction.
”AI returned invalid JSON. Try again or use a different model…”
The model produced output that wasn’t parseable JSON. Smaller models occasionally do this, especially on long transcripts. Fix: hit Retry first, the same model often gets it right on the second try. If it keeps failing, switch to a more capable model on the workhorse tier.”AI returned an empty response.”
The model hit some internal filter or refused to respond. Rare, but happens. Fix: Retry. If it persists, the input might have triggered the provider’s safety filter, switch providers or trim the input.Re-opening a failed item
If you click into a failed inbox item to inspect it, the stale error message clears automatically when you arrive on the Process with AI screen. So you start fresh, with the date editor visible and the Process button ready. This is intentional, you’ve come here to retry, and the screen reflects that. If you want to retry directly from the Inbox without opening the item, click the Retry button next to the Failed pill. Same effect.When the AI silently does the wrong thing
A different failure mode: extraction succeeds, but the output is wrong, missing dates, hallucinated attendees, mismatched sections. This isn’t an “error” per se, but it’s still broken. The fix is usually one of:- Wrong date: see Missing dates.
- Wrong journey match: see Wrong journey match.
- Hallucinated content: switch to a more capable model. Smaller models hallucinate more, and the cost saving isn’t worth it if you’re correcting every output.
- Topic over-fragmenting or over-merging: see Topics.

