Guide

Use an uncensored model in OpenHands

OpenHands connects to unrestricted.sh through its OpenAI-compatible provider, and one command sets it up. You get Qwen3.8 27B Uncensored, MiMo V2.6 Flash Uncensored, GLM-5.3 Flash Uncensored and DeepSeek V4.1 Flash 1017 Uncensored for coding and chat, with up to 1M context, from $0.35 per million input tokens.

Get an API key

Sign up and go: your $0.50 of welcome credit works on the API right away, no top-up needed. A first top-up of $10 or more adds $5 of bonus credit.

Connect OpenHands

sh -c "$(curl -fsSL https://unrestricted.sh/setup.sh)"

Or with npm: npx unrestricted

Run it in a terminal and approve the connection in your browser. It creates an API key for this machine, asks which tools to set up, and writes the OpenHands settings to ~/.openhands/agent_settings.json, leaving the rest of that file as it was. It needs Node 18 or newer, and the macOS/Linux command also needs curl.

Already have a key? Set UNRESTRICTED_API_KEY to it first and the browser step is skipped. Put UNRESTRICTED_TOOLS=openhands in front of the command to set up only OpenHands.

Or set it up by hand

This writes ~/.openhands/agent_settings.json when you have none yet. Run it with UNRESTRICTED_API_KEY set and your shell fills in the key. If the file already exists, it is left alone: run /settings in OpenHands, choose Advanced, and enter the model and base_url values above as the Custom Model and Base URL, with your key as the API Key.

sh
mkdir -p ~/.openhands
[ -e ~/.openhands/agent_settings.json ] || cat > ~/.openhands/agent_settings.json <<EOF
{
  "llm": {
    "model": "openai/qwen3.8-27b-uncensored",
    "api_key": "$UNRESTRICTED_API_KEY",
    "base_url": "https://api.unrestricted.sh/v1",
    "usage_id": "agent",
    "max_input_tokens": 262144,
    "max_output_tokens": 32768
  },
  "system_prompt_kwargs": {
    "cli_mode": true
  },
  "condenser": {
    "kind": "LLMSummarizingCondenser",
    "llm": {
      "model": "openai/qwen3.8-27b-uncensored",
      "api_key": "$UNRESTRICTED_API_KEY",
      "base_url": "https://api.unrestricted.sh/v1",
      "usage_id": "condenser",
      "max_input_tokens": 262144,
      "max_output_tokens": 32768
    },
    "max_size": 80,
    "keep_first": 4
  },
  "kind": "Agent"
}
EOF
chmod 600 ~/.openhands/agent_settings.json

Pick the model

Run openhands. It starts on Qwen3.8 27B Uncensored.

If something goes wrong

401 invalid_api_key
Missing or revoked API key.
402 insufficient_funds
Out of funds.
403 api_locked
Add funds once to unlock API keys.
429 concurrent_request_limit
Too many requests running on this account.

Every error the API returns is listed in the API reference.

What a session costs

Cached input: when your tool resends the start of a conversation, those tokens cost $0.10 per million instead of $1.00. Cached-input pricing applies to the API and coding tools; messages in the web chat pay the full input price.

A coding-agent turn with 60,000 tokens in, 55,000 of them cached, 1,500 out costs $0.0135. The pricing page has every price and more examples.

Next