# Thinking

Thinking is not a gateway-wide switch. Use only the controls accepted by your selected model, endpoint and pool.

Source: https://zrelay.net/docs/capabilities/thinking/

## Choose a supported control

Some OpenAI-compatible models accept reasoning controls; some Anthropic-compatible models accept a thinking configuration. These are different request formats. Check your model’s supported parameters before sending either.

Zrelay does not promise visible chain-of-thought. Reasoning content can be filtered from responses; a token count is not a promise that internal reasoning text will be returned.

## Budget for reasoning

Reasoning can consume output tokens and increase latency. Set a bounded output budget and account for reasoning usage where the selected model reports it. Do not assume the visible answer length equals billed output tokens.

## Validate your route

Start with a short non-streaming request. Test an accepted reasoning control, inspect errors and usage, then test streaming separately. Remove unsupported fields rather than retrying the same invalid body.
