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

# add_to_thread

> The Consensus MCP add_to_thread tool: ask a follow-up in an existing Thread, keeping the earlier context.

`add_to_thread` asks a follow-up in an existing Thread. The research agent reads the earlier turns and can reuse the papers it already found, so you can refer to them directly. Like [`create_thread`](/mcp-tools/create-thread), it returns right away, and your assistant polls [`get_thread`](/mcp-tools/get-thread) for the new answer.

Use it for a new question you raise after seeing an answer: narrow the evidence, extend the scope, or act on the papers it cited, such as "save these to my Sleep collection". It isn't for splitting one request into steps. Put the whole request in the original `create_thread` brief instead.

<Note>
  Requires a signed-in Consensus account, over OAuth or an [API key as a Bearer token](/consensus-mcp#connect-your-client). You can add only to your own Threads.
</Note>

## Parameters

| Parameter | Type | Required | Description |
| - | - | - | - |
| `thread_id` | string | Yes | The `thread_id` from `create_thread` or [`find_threads`](/mcp-tools/find-threads). |
| `input_message` | string | Yes | The follow-up, up to 10,000 characters. Be specific and include every constraint. |
| `mode` | string | No | `pro` (default) or `deep`. `deep` requires a paid plan. See [`create_thread`](/mcp-tools/create-thread#parameters). |
| `filters` | object | No | Search filters for this follow-up. Same keys as [`create_thread`](/mcp-tools/create-thread#filters). |
| `attachments` | object | No | Papers and collections for this follow-up. Same shape as [`create_thread`](/mcp-tools/create-thread#attachments). |
| `title` | string | No | The Thread's title from `create_thread`, echoed back in the result. |

## Response

The same dispatch result as [`create_thread`](/mcp-tools/create-thread#response), with the new `interaction_id` and `status: "running"`. Pass the `interaction_id` to `get_thread` to read only the new answer.

## Example prompts

* "Of the trials you cited, keep only RCTs with more than 100 participants. Does the conclusion change?"
* "Do the results differ for adults over 60?"
* "Save the papers you cited to my Creatine collection."

## Good to know

* **Wait for the last run.** Call `add_to_thread` only once `get_thread` reports the Thread `idle` or `failed`. While the latest interaction is still `running`, it returns an error. Keep polling, then send the follow-up.
* **Cost:** each follow-up is charged like a new run, by the amount of work the agent does. A failed run costs nothing. See [plans and access](/mcp-plans-and-access#how-calls-are-counted).
* **Rate limit:** one `add_to_thread` call per second.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.