> 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
