uncensored opencode

When the model refusesin opencode

opencode stops in the middle of a task and the last message is the model explaining that it cannot help. Nothing crashed. The model declined a step, and an agent loop has no way to carry on after that. This is how to recognise it and how to get the session moving again.

How to recognise a refusal

A real failure looks different. A provider error shows an HTTP status. A tool error shows the command and its output. A context problem shows a compaction or a length error. None of those come with an apology.

Why it ends the loop

An agent harness keeps going for as long as the model answers with a tool call. A refusal is an ordinary assistant message, so opencode does the correct thing and hands control back to you. The trouble is where that leaves the work: three files edited out of seven, a migration half applied, a test suite that now fails because the change stopped partway.

What sets it off

Almost always a word or a pattern, not the actual risk of the task. Developers hit it on things like these:

The fix: change the model, keep the session

  1. Add this provider to opencode once, with the block on the opencode page.
  2. When a model refuses, type /models and pick an abliterated or uncensored model from Uncensored Opencode. The conversation so far stays where it is.
  3. Tell it to continue from the step that was refused. It has the same history, so it picks up the plan the first model wrote.

You do not have to move all your work. Plenty of people keep their usual model as the default and switch only when it stops. If refusals are a regular part of your day, make an abliterated model the default instead:

opencode.json
"model": "uncensored-opencode/kimi-k3.1-pro-uncensored"

What does not work well

Which model to switch to

ModelBuildContextToolsImagesPer million tokens
GLM 5.3 Flash
glm-5.3-flash-uncensored
Uncensored1M tokensYesYes$0.30 in / $1.00 out
Kimi K3.1 Pro
kimi-k3.1-pro-uncensored
Abliterated1M tokensYesYes$7.50 in / $37.50 out
GLM 5.3
glm-5.3-uncensored
Uncensored1M tokensYesNo$2.00 in / $5.00 out
DeepSeek V4.1 Flash 1017
deepseek-v4.1-flash-1017-uncensored
Abliterated1M tokensYesYes$1.25 in / $2.50 out
MiMo V2.6 Flash
mimo-v2.6-flash-uncensored
Abliterated1M tokensYesYes$1.00 in / $2.00 out
Qwen3.8 27B
qwen3.8-27b-uncensored
Uncensored1M tokensYesYes$1.50 in / $5.00 out
GLM 5.3 Flash Cyber
glm-5.3-flash-cyber
Security-tuned1M tokensYesYesOn the models page

Questions

Will an abliterated model do anything at all?

It will not refuse a step on principle. It is still a model: it can be wrong, and you are still responsible for what you build and run with it.

Does switching model lose my context?

No. /models changes which model answers next. The session history, including the plan and the tool results, is sent to the new model.

Is it my prompt?

Usually not. Refusals in agent sessions are triggered by the content of files and tool results as often as by anything you typed.

Bring your agent.