> ## Documentation Index
> Fetch the complete documentation index at: https://cortex-foundation-add13747-droid-1a2462c9-cor-444-sanitize.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Streaming

> Answers appear as they are written — tokens, then tools, then the finished reply. If the connection drops, the thread reconnects; you do not resend.

Chat streams. You see the answer being written rather than a block of text after the turn ends, and you can stop it at any point.

<Frame caption="A turn in flight: the composer reads “Cortex is responding…” and the send button has become a stop control.">
  <img src="https://mintcdn.com/cortex-foundation-add13747-droid-1a2462c9-cor-444-sanitize/_zkvI1h_JpZuQFg3/images/product/chat-streaming.png?fit=max&auto=format&n=_zkvI1h_JpZuQFg3&q=85&s=db0c03c6238736a05d197427a8db9460" alt="A Chat thread while a reply is in flight — Cortex is responding" width="1280" height="800" data-path="images/product/chat-streaming.png" />
</Frame>

## What streams, in order

| Phase    | What you see                                                                               |
| -------- | ------------------------------------------------------------------------------------------ |
| Thinking | A blinking caret while the model reasons; longer at higher [thinking levels](/chat/models) |
| Tokens   | The reply appearing word by word, markdown rendering as it lands                           |
| Tools    | Tool results entering the thread when the model uses one                                   |
| Finished | **Copy**, **Listen**, and feedback controls under the reply                                |

## Stop a response

Press **Esc**, or the stop control where the send button was. The partial reply stays in the thread. See [Keyboard shortcuts](/getting-started/settings#keyboard-shortcuts).

## When the connection drops

Run state lives in the thread, not in the transport. If your connection drops mid-reply, the product reconnects and the reply that already started continues. **Do not resend** the same message to recover it — you would start a second turn.

## Queueing

Sending while a reply is still streaming is not the intended path in the web app; wait for the reply or stop it first. The CLI queues follow-ups explicitly — see [The TUI](/cli/tui).

## Related

* [How Chat works](/chat/how-it-works) — the loop behind the stream.
* [Troubleshooting](/getting-started/troubleshooting) — what a cut-short reply means.
