---
url: >-
  https://adk.nht.io/api/@nhtio/adk/batteries/llm/transformers_js/helpers/functions/makeThinkTagReasoningParser.md
---

# Function: makeThinkTagReasoningParser()

```ts
function makeThinkTagReasoningParser(
  opts?: ReasoningParserOptions,
): ReasoningParserFn;
```

Defined in: [src/batteries/llm/chat\_common/reasoning\_parsers.ts:188](https://github.com/NHTIO/ADK/blob/v1.20261003.0/src/src/batteries/llm/chat_common/reasoning_parsers.ts#L188)

Parse `<think>…</think>` (and the `<thinking>…</thinking>` variant) reasoning blocks — the dominant
convention, used by Qwen3, DeepSeek-R1, and most distilled reasoning models. Unpaired markers (a lone
`</think>` or a truncated `<think>`) are recovered by default — see [ReasoningParserOptions](../interfaces/ReasoningParserOptions.md).

## Parameters

| Parameter | Type                                                                |
| --------- | ------------------------------------------------------------------- |
| `opts`    | [`ReasoningParserOptions`](../interfaces/ReasoningParserOptions.md) |

## Returns

[`ReasoningParserFn`](../type-aliases/ReasoningParserFn.md)
