> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat Features

> Work faster in chat with attachments, queued follow-ups, quote replies, branching, keyboard shortcuts, and the conversation sidebar

Every conversation with a CloudThinker [agent](/guide/agents) — an AI teammate that works against your real systems — runs through the same chat surface. This page covers the mechanics that surface carries: attachments, follow-ups while an agent works, targeted replies, shortcuts, and conversation management.

## Attach files

Attach up to five files to any message: select the paperclip, drag files into the composer, or paste. Agents read attachments as part of your request, so you can hand over a cost export, a log bundle, or a screenshot without retyping it.

| Limit                  | Value                                                                     |
| ---------------------- | ------------------------------------------------------------------------- |
| Files per message      | 5                                                                         |
| Size per file          | 25 MB; 100 MB for tabular files (`.csv`, `.tsv`, `.xlsx`, `.xls`, `.ods`) |
| Total per message      | 20 MB; 100 MB when the message includes a tabular file                    |
| PDF depth              | The first 50 pages are read                                               |
| Pasted-text attachment | Up to 1 MB                                                                |

Supported types include documents, spreadsheets, code files, notebooks, images, `.mp3` and `.mp4` media, archives such as `.zip` and `.tar`, and more.

* **Long pastes become attachments.** Pasting more than 2,000 characters converts the text into an attachment automatically; the agent reads it the same way, and the composer stays readable.
* **Download links are short-lived.** A link to download an attachment works for one hour; reopen the attachment for a fresh one.

<Note>
  These limits apply to chat attachments only. [Knowledge base](/guide/knowledge) uploads — reference documents agents search across conversations — have their own limits.
</Note>

## While an agent is working

You can keep typing while an agent streams its answer. Messages sent mid-run do not interrupt the work: they queue above the composer, drain in order once the turn ends, and each queued row can be removed before it sends.

A queued message CloudThinker could not deliver shows as blocked, marked "Not sent. The agent was still busy." Nothing resends it on its own — select **Retry** on the row when you want it to go. Stopping a run does not send the queue either; queued rows stay visible so you decide what still applies.

In [Slack](/guide/slack-integration), Microsoft Teams, or Google Chat there is no composer to hold messages, so CloudThinker queues them server-side: a message sent mid-run joins the run already in flight and gets its own answer in the same thread. Several rapid messages produce one "still in progress" acknowledgement, not one each.

## Ask an agent to keep watching

An agent can watch a live operation so you don't have to. Ask it to watch something and tell you when a condition is met; it sets up a single background check, ends its turn, and sends one notification when the condition fires. There is nothing to configure and nothing to clean up — a watch fires at most once and ends with the operation it watches.

```text theme={null}
@kai #alert watch the payments rollout in staging and tell me once the pods stop crash-looping
```

For a check that should repeat on a schedule, use an [automation](/guide/automation/automations) instead.

## Long conversations

The composer shows a context-window ring: the share of the agent's context window — how much conversation it can hold in view at once — this conversation has used, with the token count in the ring's popover. As the window fills, earlier messages are summarized, so detail from the start of a very long chat may come back paraphrased.

When the ring runs high, take a fresh start rather than pushing on:

* **Branch from here**, under any completed agent reply, starts a new conversation from that point and leaves the original untouched — good for trying a different direction with the context that matters. In a branched conversation, the turns inherited from the original can't be branched again; branch from a turn made after the split.
* **Start a new chat** when the topic has moved on. Agents can still search and recall earlier conversations in the workspace — see [Memory](/guide/memory).

## Reply to a specific passage

Select any passage inside an agent's reply and a **Reply** button appears. Selecting it drops the passage into the composer as a quote, so your follow-up is anchored to exactly that finding, number, or sentence. Replies that are still streaming aren't quotable until they finish.

Feedback works from the same row of controls under each reply: a thumbs-up records immediately, while a thumbs-down opens a short dialog and records only with a reason — a bare negative mark gives the team nothing to improve.

## From chat to automation

When a piece of work is worth repeating, the agent may end its reply with a proposal card for a scheduled follow-up — its name, when it would run, and what it watches for. Select **Enable** to create the [automation](/guide/automation/automations); its timing is computed from the moment you accept, not from when it was proposed. **Dismiss** declines. The buttons appear when you can edit automations in the workspace.

## Keyboard shortcuts

| Keys              | Where          | What happens                                                                                                   |
| ----------------- | -------------- | -------------------------------------------------------------------------------------------------------------- |
| **Enter**         | Composer       | Sends the message. Inside a code fence, adds a line instead                                                    |
| **Shift + Enter** | Composer       | Adds a line without sending                                                                                    |
| **↑ / ↓**         | Empty composer | Walks back through your last 30 messages in the conversation; ↓ returns forward and restores your unsent draft |
| **Cmd/Ctrl + K**  | Anywhere       | Opens the command palette — search that jumps to any page or action                                            |

## Organize conversations

The sidebar lists your conversations newest-first with a search box and a type filter — chats, reviews, automation runs, and more. Each row's menu carries **Star**, **Rename**, and **Delete**.

Starring pins a conversation into the **Starred** section above the list. Starred conversations stay visible whatever filter or search is active, and leave the Recents list so the two sections never duplicate.

## Related

<CardGroup cols={2}>
  <Card title="Agent teams and the side panel" icon="sitemap" href="/guide/agents-canvas">
    Watch the helper agents behind a running turn and replay every command
  </Card>

  <Card title="Sharing" icon="share-nodes" href="/guide/sharing">
    Share conversations and artifacts with teammates or by public link
  </Card>

  <Card title="Memory" icon="brain" href="/guide/memory">
    What agents remember across conversations and how to correct it
  </Card>

  <Card title="Automations" icon="calendar-check" href="/guide/automation/automations">
    Run stored instructions on a schedule, webhook, or repository event
  </Card>
</CardGroup>
