# The Assistant stopped responding

Three different faults look identical from the outside. The stream between the browser and the app dropped; the model provider refused or throttled the call; or the workspace's AI budget is spent. The status line tells them apart: a half-written answer is a stream, a long `Understanding…` with no steps is the provider, and a refusal naming the budget is the budget.

- **Status:** Available
- **Audience:** both
- **In the app:** #/home
- **Last verified:** 2026-09-10
- **Canonical:** https://connectbyjbrh.com/docs/troubleshooting/assistant-stuck/

## What you are seeing

Either the answer began and stopped in the middle of a sentence, or the status line has sat on `Understanding…` with no step count for far longer than a question of that size should take. Nothing is on fire elsewhere in the app; other screens load.

Read the status line before you retry. Retrying a spent budget wastes your time; retrying a dropped stream usually works first time; retrying a throttled provider immediately makes the throttling worse.

## The three causes and their tells

| Cause | The tell | What to do |
|---|---|---|
| The stream dropped | A partial answer that stops mid-sentence, no error | Resend the same question; the steps that ran already are not repeated as work you pay for twice in effect |
| The provider refused or throttled | A long `Understanding…` with no steps, or an answer that never begins | Wait a short while and try once, not repeatedly |
| The AI budget is spent | A clear refusal naming the limit rather than a hang | Nothing you can do in the Assistant; the workspace's allowance decides |
| A tool is slow, not stuck | The step count is still rising | Wait. A wide search over a large workspace takes longer than a record lookup |

The fourth row is included because it is frequently mistaken for the first. A rising step count means work is happening. The Assistant is not stuck while the count moves, however slowly.

## What Connect completed, and what it did not

**What Connect completed** — Every tool step that finished before the stop. Those ran against your workspace and, if any of them wrote, the write is real and recorded.
**What Connect completed** — The metering. A model call that started is metered whether or not you saw its answer, which is why repeated retries are not free.
**What Connect did not complete** — The answer. A partial answer is not a short answer — the sentences you can see may be missing the qualification that was about to follow, so do not act on a truncated one.
**What Connect did not complete** — Any proposal you never saw. If a writing tool was going to ask you, it did not, and nothing was written on your behalf.

> **Careful** A truncated answer is the dangerous case, because it reads as complete. If the last sentence ends without punctuation, or the citations are missing where the answer would normally carry them, treat it as unfinished.

## What you can do

1. Check whether the step count is moving.
   - Result: If it is, wait. If it is not and has never moved, the problem is upstream of your workspace.
2. For a truncated answer, resend the same question once.
   - Result: A dropped stream is a transport fault and usually does not recur on the next attempt.
3. For a long `Understanding…`, press Stop, wait, and try once more.
   - Result: Stop ends the pending run cleanly rather than leaving two runs racing. Nothing that finished is reversed.
4. For a budget refusal, stop retrying and check the workspace's usage.
   - Result: The allowance is a workspace-level fact, not a per-person one, so the answer is the same however many times it is asked.

## What an administrator can do, and when to escalate

An administrator can see the workspace's AI usage against its allowance, which resolves the third cause outright. They can also confirm whether other people in the same workspace are affected — a single browser with a dropped stream is a different report from every session hanging at the same stage.

Escalate when the long `Understanding…` persists across people, browsers and questions for more than a few minutes, or when a partial answer recurs on every attempt at the same question. The second of those is not a transport fault: something in that particular turn is failing repeatably, and the question itself is the useful thing to report — never the answer's contents.

## Questions

### Does a stuck answer leave a half-finished action?

No. Tool steps either complete or do not, and a step that completed is a finished write through the owning service. There is no partial record to repair.

### Why does retrying cost anything if I never got an answer?

The model call is metered when it runs, not when you read it. That is worth knowing before retrying a hanging question five times: the budget moves each time even though your screen does not.

### Is the Assistant down if the rest of the app works?

It can be, because the model call is the only part of the app that depends on an external provider in this path. Screens loading normally while answers hang is exactly the shape that points at the provider rather than at Connect.

## Related

- [The live status line](https://connectbyjbrh.com/docs/assistant/live-stream/)
- [Running an action](https://connectbyjbrh.com/docs/assistant/executing-actions/)
- [Troubleshooting](https://connectbyjbrh.com/docs/troubleshooting/)
- [Account and access](https://connectbyjbrh.com/docs/account/)
- [Findings a setting cannot fix](https://connectbyjbrh.com/research/model-limited-findings/)

## What this page is based on

- `docs-source/sources/GENERAL.md` §8 — the live status line and the tool loop
- Connect capability registry (docs-source/facts.py) — `assistant`, `billing_usage`
- `backend/app/ai_quota.py`, `metering.py` — the AI budget and its refusals
