Roo Code not working or hanging on API Request: what to check

Roo Code stays silent, hangs on API Request or throws errors. We go from simple to complex: key, address, model, context, timeouts and limits.

6 min · · errors · IDE

When Roo Code is not working it usually behaves in one of three ways: it shows an error right away, hangs forever on "API Request", or replies but performs no actions. These symptoms have different causes, so the diagnosis below goes from the simplest to the most complex. It relies on the Roo Code documentation and Zukko gateway responses, checked as of October 18, 2026.

First, the key point: Roo Code has been shut down

According to the official Roo Code documentation, the extension was shut down on May 15, 2026; the RooCodeInc/Roo-Code repository on GitHub has been archived. There will be no more updates or fixes, so some problems (new models, changes in provider APIs, incompatibility with future VS Code versions) may stay unsolved. As replacements, the Roo documentation names Cline and ZooCode, a fork started by the community. How to connect Cline to the gateway is described in Cline setup. If you are staying on Roo Code for now, the steps below help find a cause that depends on settings rather than on the extension itself.

Step 0. Test the key without Roo Code

This rules out half the hypotheses in a minute:

bash
curl -i https://api.zukko.pro/v1/chat/completions \
  -H "Authorization: Bearer fetch_your_key" \
  -H "Content-Type: application/json" \
  -d '{"model":"claude-sonnet-5-5","messages":[{"role":"user","content":"ping"}]}'

A 200 response means the key, balance and model are fine, so look for the cause in the extension. Any other code: see the code table below.

Step 1. Provider and address

The most common reason for "nothing works" after setup: the address does not match the chosen provider. Open the gear icon in the Roo Code panel, the "Providers" section, and check:

Provider in Roo CodeAddressModels
OpenAI Compatiblehttps://api.zukko.pro/v1 (with the suffix)any ids from the catalog
Anthropic (the "use custom base URL" option)https://api.zukko.pro (without /v1, Roo adds the path itself)Claude and, if needed, others through the Anthropic format

A swapped suffix gives a 404: the key is accepted, but the request goes to a nonexistent path. In detail: base URL with and without /v1. The list of supported extensions and their addresses is in the Zukko documentation.

Step 2. Model name

The "Model" field must contain the id exactly as in the catalog: case and dots matter (claude-sonnet-5-5, gpt-6.1-sol, deepseek-v4.1-flash). An unknown name returns 404 model_not_found. The current list: GET https://api.zukko.pro/v1/models.

Step 3. Does the model support tool calling

This is a frequent reason for "it replies but does nothing". Per the Roo Code docs, it uses native tool calling exclusively (the OpenAI-style tools format), with no XML fallback. If a model or provider implements it only partially, you get tool-call errors, and in the worst case the model simply cannot work in Roo Code. What to do: switch to another model from the catalog and repeat the same task. Which model suits your project cannot be said in advance; test it on your own task.

Step 4. Stuck on API Request

This is not one error but a state of "the request went out, no answer". What to check, in order.

Context size. The agent sends the whole history and files. The more input, the longer the model takes to process it before the first reply. If the task is hundreds of thousands of tokens, the wait is expected. Start a new task or press the "Condense Context" button at the top of the task: per the docs, it condenses earlier messages (you pay for the condensing as a separate model call).

Request timeout. VS Code settings have a roo-cline.apiRequestTimeout parameter (in seconds). Per the docs, the default is 600 seconds, the range is 0-3600, and 0 means "no timeout". If you once set 0, a hung request will wait forever. Return a sensible value.

Limit between requests. The API configuration profile has a "Rate Limit": a minimum pause in seconds between requests. The default is 0 (off). If it holds a large number, Roo Code waits before every request on its own, and this looks like a hang.

Restrictions at the model provider. A 429 may come not from Zukko limits (the gateway has no general rate limit of its own) but from the model provider. Retry later or change the model.

How much does an extra retry cost? Take a context of 300K input tokens. Formula: 0.3 × input price. claude-sonnet-5-5: 0.3 × 0.4 = $0.12 per send; glm-5.3-flash: 0.3 × 0.04 = $0.012; deepseek-v4.1-flash: 0.3 × 0.013 = $0.0039 (prices as of October 18, 2026). So on large contexts do not leave auto-retries unattended: set a daily dollar limit on the key.

Step 5. Context window

Errors like context length exceeded or 413 mean the request does not fit. In Roo Code, for OpenAI Compatible you can set "Context Window" and "Max Output Tokens" in the model configuration: enter the real values. Models in the catalog have different contexts: most have 1M, Grok 256K, GLM 128K. Roo Code, per the docs, trims the context by 25% itself on a window error and retries. If the error repeats, start a new task or enable automatic condensing in the context settings. A walkthrough of the error itself: context length exceeded.

Gateway error table

CodeCauseWhat to do
401wrong keyrecheck the key, issue a new one on the keys page if in doubt
402insufficient balancetop up the balance
403 model_not_allowed_for_keythe model is not in the key's allowed listallow the model in the key settings
404 model_not_foundunknown model name or wrong addresscheck the id and the /v1 suffix
413request too largereduce the context
429key daily or monthly limit, or a provider restrictionsee the key limits in the dashboard
503 model_disabledprovider unavailable or model switched offtake a model from GET /v1/models

Step 6. Collect diagnostics

Next to an error message in Roo Code there is a "Details" link. The "Copy basic error info" button copies the time, extension version, provider, model and error text, and "Get detailed error info" produces a full report with the task history and configuration (it may contain project data, so do not publish it without reviewing). The report is useful if you discuss the problem in the community or with the gateway's support: Roo Code's own tracker is no longer developed after the project's shutdown.

As a last resort: the "Reset" button in settings. Be careful, it is irreversible: it erases API profiles, keys from storage, custom modes and task history. Export your settings first. Usually it is enough to create a new provider profile from scratch and compare it with the old one.

FAQ

Roo Code stopped working after a VS Code update. What now?

Create a new provider profile and enter the address, key and model manually, then repeat step 0 with curl. If the key works but the extension does not, an incompatibility is likely: no fixes will come for the shut-down Roo Code, so moving to a maintained extension is the sensible choice.

A reply comes, but files do not change

Most likely the model calls tools poorly (step 3), or a mode that cannot edit is on (for example, Architect does not change code). Change the mode or the model.

It hangs only on large projects

It is the context size. Name specific files with @, start a new task, use context condensing.

How do I pay for usage from Russia?

The dollar balance is topped up via SBP (the payment page adds 8.5% on top), MasterCard or cryptocurrency; minimum $1.

zukko

Pay 25×
less

for Claude Code & ChatGPT

One fetch_* key and base URL api.zukko.pro — for Cursor, Claude Code, Codex, and any SDK.

Get API keyDocumentation

api.zukko.pro · fetch_*

Roo Code not working: stuck on API Request · Zukko