Issues / #754
#754 Anthropic API: tool calls intermittently emitted inside `thinking` and returned as `end_turn`
closed · @JakeCow · 1 comentarios · En GitHub
Setup & installServer & APIAMD / HIPNVIDIA / CUDAModels & quants
Descripción
**AI disclosure:** This issue was created with the assistance of AI based on captured Pi session logs and raw SSE traffic. Im not a dev :)
[strata-failing-sse.txt](https://github.com/user-attachments/files/33023543/strata-failing-sse.txt)
## System
- OS: Ubuntu 26.04.1 LTS
- Kernel: 7.0.0-34-generic
- CPU: AMD Ryzen 7 9800X3D
- RAM: 32 GB DDR5-6000
- GPU: NVIDIA GeForce RTX 3090 24 GB
- NVIDIA driver: 595.91.07
- CUDA: 13.2
- Strata: Docker, v0.1.38
- Model: `qwen3.8-flash-next-coder-iq1_m`
- Context: 262144
- API: Anthropic-compatible `/v1/messages`
- Client: Pi 1.0.2
- Pi thinking mode: `low` (`budget_tokens: 2048`)
**Setup**
- Strata: current Docker build / v0.1.38-era code
- Model: `qwen3.8-flash-next-coder-iq1_m`
- API: `/v1/messages`
- Client: Pi 1.0.2
- Pi thinking: `low`
- Request thinking budget: `2048`
- Context: well below 262K
With thinking enabled, Strata intermittently emits a complete intended tool call inside the Anthropic `thinking` block instead of producing a structured `tool_use`.
Raw SSE from a failing request:
```text
event: content_block_delta
data: {"type":"content_block_delta","index":0,
"delta":{"type":"thinking_delta","thinking":"<tool_call>"}}
...
event: content_block_delta
data: {"type":"content_block_delta","index":0,
"delta":{"type":"thinking_delta","thinking":"</tool_call>"}}
```
Immediately afterwards:
```text
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta",
"delta":{"stop_reason":"end_turn","stop_sequence":null},
"usage":{"input_tokens":243,
"cache_read_input_tokens":28792,
"output_tokens":79}}
event: message_stop
data: {"type":"message_stop"}
```
There is no Anthropic `tool_use` content block in the failed turn.
Successful turns in the same session correctly produce:
```text
event: content_block_start
data: {"type":"content_block_start","index":2,
"content_block":{"type":"tool_use", ...}}
event: message_delta
data: {"type":"message_delta",
"delta":{"stop_reason":"tool_use", ...}}
```
### Reproduction
Using the same multi-step tool workload:
```text
thinking low: C1 FAIL / C2 FAIL / C3 FAIL
thinking off: C4 PASS
```
Failures occurred at different context sizes (~21K–34K), so this does not appear to be a context-limit or timeout issue.
### Expected
When the model transitions from reasoning to a tool call, Strata should emit a structured Anthropic `tool_use` block and `stop_reason: "tool_use"`.
### Actual
The intended tool call is sometimes streamed as `thinking_delta`, followed by a clean `end_turn`, causing the client agent loop to stop.En el sitio
Enlaces a install, modelos, releases.