> For the complete documentation index, see [llms.txt](https://docs.tabnine.com/main/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tabnine.com/main/administering-tabnine/managing-your-team/team-management/thinking-reasoning-configuration.md).

# Thinking / Reasoning Configuration

When adding or editing a self-managed model, admins can enable and configure thinking/reasoning behavior. This controls how the model reasons internally before producing an answer, and whether that reasoning output is fed back into subsequent conversation turns.

#### **Why This Matters**

Provider defaults for reasoning behavior can change between model versions. For example, a provider may ship a new model version with reasoning effort set to "none" by default when the previous version defaulted to "medium." Without explicit configuration, model quality can appear to degrade unpredictably. The thinking configuration gives admins explicit control.

#### **Enabling Thinking**

1. In the **Add Model** (or **Edit Model**) wizard, navigate to the **Model Details** step.
2. Toggle **Enable Thinking/Reasoning** to ON. When disabled (default), no thinking parameters are sent to the provider, and the remaining thinking controls are hidden.
3. When enabled, two additional controls appear: **Thinking Budget** and **Propagate thinking in conversation**.

#### **Thinking Budget**

The Thinking Budget control adapts to the selected provider. Available options, ranges, and defaults are driven by per-provider metadata so the wizard stays correct as providers add new models or change limits.

| Provider                                             | Control type                   | Options / Range                                                                                                                     | Default                     |
| ---------------------------------------------------- | ------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |
| **OpenAI** / **Azure OpenAI** / **Azure AI Foundry** | Dropdown                       | `Low`, `Medium`, `High`                                                                                                             | Sourced from model metadata |
| **Anthropic (direct API)**                           | Numeric input                  | Token budget (min/max from model metadata)                                                                                          | From model metadata         |
| **Amazon Bedrock** (Anthropic models)                | Numeric input                  | Token budget (min/max from model metadata)                                                                                          | From model metadata         |
| **GCP Vertex AI** (Gemini)                           | Numeric input + Dynamic option | Token budget within model range, or **Dynamic** (model decides its own budget)                                                      | Dynamic                     |
| **OpenAI Compatible**                                | Admin's choice                 | Effort dropdown (`Low`/`Medium`/`High`), numeric token budget, or **Passthrough** (lets the upstream service apply its own default) | Passthrough                 |

**Note on Anthropic models:** For newer Anthropic models (Opus 4.6, Sonnet 4.6 and later), the `thinking.type: "enabled"` / `budget_tokens` pattern is deprecated. These models use `thinking.type: "adaptive"` with an `effort` parameter instead. Older models (Sonnet 4.5, Opus 4.5, etc.) do not support adaptive thinking and still require `thinking.type: "enabled"` with `budget_tokens`. Tabnine handles this distinction automatically based on the model version. Admins do not need to select between the two modes manually.

#### **Propagate Thinking in Conversation**

When thinking is enabled, a second toggle appears: **Propagate thinking in conversation**.

* **ON (default):** The model's thinking/reasoning output from previous turns is included as context in subsequent turns. This can improve multi-turn coherence for models that benefit from seeing their own reasoning chain.
* **OFF:** Thinking output is discarded between turns. Use this for models that degrade in quality when they receive their own reasoning output as input.

A tooltip on this toggle explains: *"Some models may reduce quality when they receive their own reasoning output. Disable this if you notice degraded responses in multi-turn conversations with this model."*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tabnine.com/main/administering-tabnine/managing-your-team/team-management/thinking-reasoning-configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
