Home / Blog / Pricing

Pricing

OpenCode "Error: Provider blocked the response": what it means

OpenCode says "Error: Provider blocked the response"? What it means on OpenCode Go and Zen models, which models trigger it, and the legit fixes.

8 min read

Error strings, causes and support routes quoted from OpenCode GitHub issues #59283, #57814 and #57251 on the official anomalyco/opencode repo (all verified Nov 8, 2026). Issue reporters and staff are not named; every source is listed at the bottom. No affiliate links on this page (how we work).

The exact error: Error: Provider blocked the response

This is the line from #59283 (verified Nov 8, 2026), an OpenCode Go report on v2.1.4, Ubuntu:

Error: Provider blocked the response
Build · DeepSeek V4.1 Flash

The same report adds: “Go Plan with additional credit, the dashboard doesn’t show any limit constrains.” So this person was paid up, had credit, and still got stopped.

The one-line answer: the model provider ended your turn with a content-filter stop, and OpenCode is only the messenger. The repo’s triage bot says it plainly in #59283: “The app shows “Provider blocked the response” when the provider ends a turn with a content-filter stop.” In #57814 (verified Nov 8, 2026), the raw response from the Zen Go endpoint shows exactly that:

{"choices":[{"index":0,"finish_reason":"content_filter","delta":{"role":"assistant","content":""}}], "usage":{"prompt_tokens":0, ...}}

finish_reason: content_filter, empty content, and no explanation. It’s Ron Swanson energy from the provider side: “I know more than you,” and that’s all you’re getting. No category, no reason, no follow-up questions.

The bot in #57251 (verified Nov 8, 2026) says the same thing a different way: the message “means the model provider ended the turn with a content-filter or refusal stop. In other words, the model declined the request on content grounds. That isn’t related to your API key, which is why switching keys didn’t change anything.”

So, three things it is not, per those replies: it is not your API key, it is not the OpenCode app breaking, and it is not a usage limit. That last one matters most, because the people hitting this are often paying customers who assume they’ve run out of something.

Which models people hit it on

I’m only naming models the issues name. That’s a short list.

IssueModelResult
#59283DeepSeek V4.1 FlashBlocked
#57814deepseek-v4.1-flashBlocked
#57814glm-5.3-flashNever blocked
#57251Not namedBlocked

Source: the three issues above, verified Nov 8, 2026.

DeepSeek V4.1 Flash is the only model the reports name as blocked. #59283 names it on an OpenCode Go plan. #57814 names deepseek-v4.1-flash on Zen Go and includes a comparison: “Identical payload on glm-5.3-flash: never blocked.” The same reporter wrote: “Three days of logs from my agent: 53 content_filter finishes, every single one on deepseek-v4.1-flash, none on any other model.”

That reporter’s numbers are worth reading slowly. With a warm prompt cache they logged “20 x tool_calls, 0 blocked”; cold, “2 blocked out of 46 attempts”. They also argue that “prompt_tokens: 0 means the request never reached the model, so this is a pre-flight filter, not a model refusal.” That’s the reporter’s reading, not an official statement, but the triage reply on #57814 agrees on where it comes from: the stop “comes from the hosted OpenCode Go / Zen service (or the upstream DeepSeek provider), not from the OpenCode app.”

Think of the Gom Jabbar box test in Dune, except the Reverend Mother rejects you before your hand is even in the box. Zero prompt tokens. You didn’t fail the test; you never took it.

#57251 names no model at all, so I won’t guess one. Its cause is different and more human (see below).

A published list of “models that block” from OpenCode is not published in any of these sources, as of Nov 8, 2026. If you’re picking between plans, OpenCode Go vs Zen covers what each one is.

Why it happens: two flavours from the issues

1. A service-side filter stop on DeepSeek V4.1 Flash

#59283 and #57814 are the same story: intermittent blocks on DeepSeek V4.1 Flash through the hosted Go / Zen service. The #59283 reporter describes it as: “I keep getting this error every few hours, had stop and restart after awhile or change the model!” Both issues were closed as not_planned (Oct 27, 2026 and Oct 22, 2026), routed to email support, and no maintainer stated a fix. A later commenter on #57814 wrote they had “already sent email to [email protected] but got no reply for now”, and the reporter added: “Edit: the issues are back, honestly I have no idea what’s going on”.

Honestly? That’s the frustrating part. Paying users, a reproducible pattern on one model, a raw response pasted into the issue, and the official answer is “not our repo, email us.” I get why a GitHub repo isn’t a billing desk, but a filter that fires with zero prompt tokens and no category deserves more than a closed ticket.

2. A real content refusal

#57251 (opened Oct 20, 2026, reopened and still open as of Nov 8, 2026, on opencode v2.0.32) is the other flavour. The reporter switched keys (“I switched the key, but it still didn’t work.”) and later explained: “The conversation may have been intercepted because it contained my SSH account credentials.” The triage bot in #59283 describes #57251 as “a real content refusal caused by credentials in the conversation.”

Pasting live SSH credentials into a chat with a model is a bad idea for about nine reasons, and a content filter tripping is the mildest of them.

The #59283 triage reply also lists #57317 as “the same error on OpenCode Go with a very large input”. I haven’t read #57317 itself, so I’m only passing on that one-line description.

How to fix it, in order

Every step below comes from the issues. Nothing invented, no hacks.

  1. Switch to a different model. The #59283 reporter did this (“change the model!”), #57814 logged zero blocks on glm-5.3-flash with the same payload, and the #57251 triage bot asks whether it “still happens after starting a new session or switching to a different model” (all verified Nov 8, 2026). If one model keeps refusing, stop arguing with it.
  2. Start a new session. Same triage question as above. The #59283 reporter also mentions having to “stop and restart”.
  3. Take credentials and secrets out of the conversation. #57251 is the documented case: the reporter believes SSH credentials in the chat triggered it, and triage calls it “a real content refusal”. Strip keys, passwords and tokens from prompts and attached files. #57317 is listed by triage as a very-large-input case, so a huge pasted file is worth trimming too.
  4. Update OpenCode. The #57251 bot says: “Newer versions may include a category and explanation after “Provider blocked the response”.” Updating won’t stop a provider’s filter, but it may tell you why it fired.
  5. Report it to the right place. For the hosted service, the #59283 triage reply is explicit: “We don’t handle problems with the OpenCode Go service or accounts in GitHub issues. Please email [email protected] with the details: roughly when it happened, the model, and any request or response IDs from your console logs.” For an app bug, the #57251 bot asks for the provider and model, “The full error text as written”, and whether a new session or different model changes anything.

What not to do: don’t spin up extra accounts, don’t route through a proxy to dodge a filter, and don’t try prompt tricks to sneak past a content stop. None of that is a fix, and some of it breaks terms of service.

Blocked vs usage limit: which one did you hit?

MessageWhat it isGo here
Provider blockedContent-filter stopYou’re here
Free usage exceededFree-model limitOpenCode free usage exceeded
Go usage limitGo plan capOpenCode Go limits
user_blockedAccount restrictedEmail support

Blocked-row meaning from #59283, #57814 and #57251 (verified Nov 8, 2026). user_blocked is listed by the #57251 triage bot as “a different error (user_blocked, account restricted) on OpenCode Zen” (#49057, not read in full). Limit rows: see the linked posts.

The quickest tell: limit messages talk about usage, plans or reset times. Error: Provider blocked the response talks about none of that. If you’re on Go with credit left, like the #59283 reporter, a limit isn’t the reason.

FAQ

What does OpenCode Error: Provider blocked the response mean? The model provider ended your turn with a content-filter or refusal stop; OpenCode only displays it, per the triage replies on #59283 and #57251 (verified Nov 8, 2026).

Is Provider blocked the response a usage limit? No. The triage bot ties it to a content-filter stop, and the #59283 reporter had a Go plan with credit and no limits showing on the dashboard.

Which OpenCode Go models block responses? The only model the issues name is DeepSeek V4.1 Flash (#59283, #57814); in #57814 the same payload on glm-5.3-flash was never blocked (verified Nov 8, 2026).

Does switching my API key fix Error: Provider blocked the response? No. The #57251 triage reply says it “isn’t related to your API key, which is why switching keys didn’t change anything.”

Where do I report it? Service or account problems go to [email protected] with the time, model and any request or response IDs, not to GitHub, per the #59283 triage reply.

Here’s what I’d do

If the banner names DeepSeek V4.1 Flash, I’d switch models and keep working, because that’s the one pattern the issues back with real numbers. If it keeps happening on a model you’re paying for, email [email protected] with the time, the model and the request IDs, and keep the raw response if you can grab it. If you pasted secrets anywhere in the session, start a fresh one without them.

If hosted-model filters keep eating your turns, it’s fair to keep a second tool ready. OpenCode vs Claude Code and AI coding tools compared cover the options with dated prices.

Sources

  1. OpenCode GitHub issue #59283 (“OpenCode Go: Error: Provider blocked the response-DeepSeek V4.1 Flash”; closed not_planned Oct 27, 2026; triage reply and [email protected] route): https://github.com/anomalyco/opencode/issues/59283 (verified 2026-11-08)
  2. OpenCode GitHub issue #57814 (“[Zen Go] deepseek-v4.1-flash intermittently returns finish_reason=content_filter with prompt_tokens=0”; closed not_planned Oct 22, 2026): https://github.com/anomalyco/opencode/issues/57814 (verified 2026-11-08)
  3. OpenCode GitHub issue #57251 (“Provider blocked the response”; reopened, open as of Nov 8, 2026): https://github.com/anomalyco/opencode/issues/57251 (verified 2026-11-08)

Related reading