Guide

Use an uncensored model in Pi

Pi connects to unrestricted.sh through its OpenAI-compatible provider, and one command sets it up. You get Qwen3.8 27B Uncensored, a model for coding and chat with 262K context, at $1.00 per million input tokens.

Get an API key

Sign up, then add credit: API keys work after your first top-up of $5 or more. A first top-up of $10 or more adds $5 of bonus credit.

Connect Pi

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

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 Pi settings to ~/.pi/agent/models.json, leaving the rest of that file as it was. It needs curl and Node 18 or newer.

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

Or set it up by hand

Merge this into ~/.pi/agent/models.json. Pi reads the key from UNRESTRICTED_API_KEY, so set it in the shell that starts Pi.

json
{
  "providers": {
    "unrestricted": {
      "name": "unrestricted.sh",
      "baseUrl": "https://api.unrestricted.sh/v1",
      "api": "openai-completions",
      "apiKey": "$UNRESTRICTED_API_KEY",
      "models": [
        {
          "id": "qwen3.8-27b-uncensored",
          "name": "Qwen3.8 27B Uncensored",
          "reasoning": true,
          "thinkingLevelMap": {
            "off": "none",
            "minimal": null,
            "low": "low",
            "medium": "medium",
            "high": "xhigh"
          },
          "input": [
            "text"
          ],
          "contextWindow": 262144,
          "maxTokens": 32768
        }
      ]
    }
  }
}

Pick the model

Run pi, open /model, pick Qwen3.8 27B Uncensored and press Ctrl+S to make it the default.

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.015. The pricing page has every price and more examples.

Next