You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Stop does not work on OpenAI Compatible API Provider #404
Stopping an in-progress question or task does not abort the underlying HTTP request to the provider. The provider continues processing / generating tokens, invisible to the user.
This bug was already reported on Roo code: RooCodeInc/Roo-Code#10779. It still is present in Zoo code 3.56.0.
Context (who is affected and when)
OpenAI API users. I use llama.cpp on a iGPU as local solution (a propos, dedicated support for llama.cpp would be welcome at some point) which now continues its lengthy process even though I hit the stop button in Zoo.
Reproduction steps
Configure OpenAI API compatible provider, e.g. local llama.cpp setup
Give Zoo a prompt
Hit the stop button.
Expected result
Underlying HTTP request is immediatly aborted
Actual result
Underlying HTTP request continues until the end, consuming precious resources, while of no benefit to the user.
Variations tried (optional)
No response
App Version
3.56.0
API Provider (optional)
OpenAI Compatible
Model Used (optional)
N/A
Zoo Code Task Links (optional)
No response
Relevant logs or errors (optional)
If I quit VS Code, the (stopped, but continuing) request is immediately terminated, as is shown in the log of llama.cpp:
1332.16.787.326 W srv stop: cancel task, id_task = 153
1332.20.921.482 I slot release: id 0 | task 153 | stop processing: n_tokens = 4096, truncated = 0
1332.20.921.542 I srv update_slots: all slots are idle
I've identified the root cause: the and do not create an or pass an abort signal to the underlying OpenAI SDK / AI SDK requests. When the user hits Stop, the Task-level breaks out of the stream loop, but the HTTP request continues running server-side until it finishes naturally.
In contrast, and both correctly create an and pass to their API calls.
Fix plan:
Add to both and
Create the controller in / , pass to the SDK calls
Activity
proyectoauraorg commentedon Jun 1, 2026
Claiming.
I've identified the root cause: the and do not create an or pass an abort signal to the underlying OpenAI SDK / AI SDK requests. When the user hits Stop, the Task-level breaks out of the stream loop, but the HTTP request continues running server-side until it finishes naturally.
In contrast, and both correctly create an and pass to their API calls.
Fix plan:
Will follow up with a PR shortly.
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streamText() for OpenAI Compatible prov…
fix(api): pass abortSignal to streaming API calls for all providers (Z…
fix(tests): remove unused createMockStream helpers from abort signal …
feat(api): pass abortSignal to streaming API calls for all providers (Z…
175 remaining items
✅ test: close final coverage gap (Zoo-Code-Org#404)
🐛 fix(providers): fix prefer-const lint warnings after rebase (Zoo-Co…
🐛 fix(test): add missing signal assertion in unbound completePrompt (Z…
🐛 fix(test): update opencode-go spec assertions for upstream provider…
🐛 fix(e2e): update glm-5-turbo max_tokens assertion (Zoo-Code-Org#404)
🐛 fix(providers): clean up abort listeners to prevent MaxListenersExc…
🐛 fix(e2e): fix zai fetch interceptor request capture and timing (Zoo…
🐛 fix(e2e): update glm-5-turbo max_tokens assertion (Zoo-Code-Org#404)
🐛 fix(providers): clean up abort listeners to prevent MaxListenersExc…
🐛 fix(e2e): fix zai fetch interceptor request capture and timing (Zoo…
🐛 test(mcp): fix McpHub Windows command wrapping test ordering (Zoo-C…
feat(api): abort signal support for openrouter (completePrompt + crea…
feat(api): abort signal support for opencode-go
feat(api): shared abort-signal cancellation-scope helpers (Zoo-Code-O…
EuphoricPenguin commentedon Oct 5, 2026
#1651 was supposed to fix this issue, but unless it isn't on the prerelease version of Zoo Code yet, this is still an issue.