Roo Code with uttapen (discontinued extension)

Roo Code was discontinued in May 2026. If you still run version 3.54, here is the OpenAI Compatible setup that keeps it working with uttapen.

Updated: 22 Sep 2026

The Roo Code team shut the extension down on 15 May 2026 and archived the repository; 3.54.0 is the last release. If it is still installed, it works with uttapen, but it receives no fixes or updates. For new work install Cline or Kilo Code instead.

Setup in 3.54

  1. Roo Code panel → gear (Settings).
  2. Set API Provider to OpenAI Compatible — not OpenAI, which uses the Responses API that uttapen doesn't serve.
  3. Fill in:
FieldValue
Base URLhttps://api.uttapen.ir/v1
API Keyyour sk-up-… key from Dashboard → API keys
Modelpick from the list it fetches from GET /v1/models, or choose "Use custom" and type the exact id

The output-token setting matters most

Roo Code sends the output ceiling as max_completion_tokens, and there are three cases:

  • Include max output tokens unchecked: no ceiling is sent. uttapen holds a default estimate, and if the model writes more, the real charge is still deducted in full and the balance can dip negative (pricing).
  • Checked, but Max Output Tokens left at its -1 default: uttapen no longer rejects this. It treats a zero or negative value as "no ceiling given" and holds on its own default estimate, same as the case above — so you get the same negative-balance risk, not a 400.
  • Checked with a positive number (we suggest 8192): that value is sent, the hold stays predictable, and you avoid both risks above. Use this one.

Set Context Window Size to the model's real context as well; it defaults to 128,000 and every model's number is on the model list.

Choosing a model

Roo Code only works with models that support tool calling — it has no XML fallback. Good coding choices: anthropic/claude-sonnet-5, openai/gpt-5, qwen/qwen3-coder, deepseek/deepseek-v3.2.

There is no separate model for titles or summaries; the active profile does everything. If you keep several profiles, give each its own key with a monthly cap so their spend is separated in Dashboard → Usage.

The Export button in Settings writes roo-code-settings.json with your API key in plain text. Keep that file out of git and off shared storage.

Troubleshooting

ErrorCause in Roo CodeFix
401 invalid_api_keyWrong or revoked keyCreate a new key
404 model_not_foundA wrong hand-typed idPick from the list, or copy from /en/models (the 404 also lists the closest ids it guessed, in uttapen.suggestions)
404 not_foundProvider still on OpenAI, hitting /v1/responsesChoose OpenAI Compatible
402 insufficient_balanceBalance below the required holdTop up, or lower the output ceiling
429The key's rate or monthly limit (rate limits)Wait, or raise the limit

When the balance can't cover the whole output ceiling, uttapen lowers it to what the balance allows rather than refusing (floor: 1,024 tokens) and returns the granted value in the X-Uttapen-Max-Tokens header; the reply may then stop with finish_reason: "length". 402 is reserved for the case where even that floor doesn't fit.

The full tool list is in integrations, and error codes are in errors.

No API key yet?

Sign up with a phone number, top up your wallet from 100,000 toman and create a key. Free models work without a top-up — up to 50 requests a day. Create an API key →