# Conversations

> Threads with an agent — what they remember, when to start a new one, and how they group into projects.

A **conversation** is a persistent thread with one agent. It holds the history the agent reads for context, and it survives closing the app.

## When to use it

A conversation is the default way to work with an agent. Start a new one when the subject changes; keep using an existing one while you are still on the same body of work.

## What the agent reads

At the start of every [run](/docs/work/runs/), the agent assembles its context from the conversation it is in — plus its prompt, its relevant [memories](/docs/capabilities/memory/), and, if the conversation belongs to one, the [project's](/docs/capabilities/projects/) context.

It does not read your other conversations. Two threads with the same agent are independent; anything the agent should carry between them belongs in memory or in the project.

## Starting a new one versus continuing

| Start a new conversation | Continue the existing one |
| --- | --- |
| The topic changed | You are refining the same result |
| The thread is long and full of dead ends | The earlier history is what makes the answer good |
| You want a clean comparison while [iterating](/docs/build/iterating/) | The agent is mid-task |

Long threads are not free: everything in them competes for the model's attention, and eventually for its context window. A thread that has wandered through three subjects produces worse answers than three focused threads.

## History and returning to work

Conversations are listed by recency, so the thread you were in is the one at the top. Opening it restores the full history, including the [tool calls](/docs/work/runs/) each run made.

Work continues while you are away. If you close the app during a run, the run keeps going on the server; when you come back, the result is in the thread. See [Runs](/docs/work/runs/#background-runs).

## Finding and organizing

A workspace accumulates threads. Four things keep the list usable:

- **Search** looks through titles *and* message bodies, so you can find a conversation by something said in it rather than by what it was called.
- **Pin** keeps a conversation at the top of the list — the one you return to daily.
- **Rename** replaces the title Endue generated from your first message. Titles are a summary, not a label you chose, so renaming is worth it for the ones you keep.
- **Archive** takes a finished conversation out of the list without deleting it. Archived threads stay searchable and can be reopened; the sidebar stops showing them.

**Copy link** puts a link to the conversation on your clipboard. It is a bookmark for you, not a share — opening it requires your account.

## Grouping into projects

When several conversations concern the same body of work, put them in a [project](/docs/capabilities/projects/). An agent working inside a project reads the project's context, which is the cheapest way to stop re-explaining background in every thread.

<Aside type="note" title="Conversations belong to one agent">
  A conversation is with a single agent. To bring a second agent to the same
  problem, start a conversation with it — and give both the same
  [project](/docs/capabilities/projects/) if they should share context.
</Aside>

## Limits

- A conversation cannot be moved to a different agent.
- Agents do not read each other's conversations, and the same agent does not read across its own threads.
- Very long threads eventually exceed the model's context window; the practical fix is a new conversation, with anything durable moved into memory or the project.

## Related

<CardGrid>
  <LinkCard
    title="Runs"
    href="/docs/work/runs/"
    description="What happens on each turn, and how to read it."
  />
  <LinkCard
    title="Projects"
    href="/docs/capabilities/projects/"
    description="Group related conversations and give an agent shared context."
  />
  <LinkCard
    title="Memory"
    href="/docs/capabilities/memory/"
    description="What the agent carries between conversations."
  />
</CardGrid>
