For the complete documentation index, see llms.txt. This page is also available as Markdown.

How to Run Local AI Models with OpenCode

Guide to connect open LLMs with OpenCode on your local device.

This guide walks you through connecting OpenCode to Unsloth to run open LLMs entirely locally. OpenCode is an open-source AI coding agent that reads, modifies, and executes code across your project using a connected model. This works with any local model exposed through Unsloth’s OpenAI-compatible API, including: DeepSeek, Qwen, Gemma, and more.

OpenCode acts as the client, while Unsloth loads and serves models via a local API. After setup, OpenCode connects to Unsloth, where you can select a loaded model and use it as a coding agent.

This guide covers both setup options:

  • OpenCode Desktop: add Unsloth Studio manually as a custom OpenAI-compatible provider.

  • OpenCode CLI: launch it with unsloth start opencode and connect to your local model automatically.

OpenCode SetupQuickstart

In this tutorial, we’ll use unsloth/Qwen3.6-27B-GGUF loaded in Unsloth and access it directly inside OpenCode. Prefer a different model? Swap in any other model by loading it in Unsloth.

Installing OpenCode Desktop

Step 1: Download the OpenCode installer for Mac

Open opencode.ai/download in your browser of choice. Scroll down to the OpenCode Desktop (Beta) , and click the Download button next to the macOS image name corresponding to your Mac's architecture (Apple Silicon or Intel).

Step 2: Install OpenCode

Locate and double click the OpenCode Desktop.dmg installer file in your downloads folder.

The installer window will open. Use your mouse to drag the OpenCode app icon on top of the Applications icon as shown.

Step 3: Launch OpenCode

Locate and double click the OpenCode icon under the Applications folder.

The OpenCode desktop app will open and is now ready for your next action.

⚡ Quickstart

After installing OpenCode, we'll need to install Unsloth Studio to enable OpenCode to serve and run inference of local models.

  1. Install or update Unsloth Studio. Earlier versions don't expose the external API. See Installation.

  2. Launch Unsloth. Note the port it starts on is usually 8000 or 8888. You'll see it in the terminal output and in the browser URL (http://localhost:PORT).

  3. Load a model. Click New Chat, pick or search a model (GGUF), and wait for it to finish loading.

  4. Connect OpenCode. Run unsloth start opencode. It mints an API key, writes the config, and launches OpenCode against your loaded model.

🔑 Creating an API key

  1. Open the sidebar, click your Unsloth avatar at the bottom-left.

  2. Go to SettingsAPI.

  3. Enter a friendly name (e.g. claude-code-macbook).

  4. (Optional) Set an expiry.

  5. Click Create.

  6. Copy the key immediately. Unsloth stores only a hash and you won't be able to view it again.

All keys start with the sk-unsloth- prefix. Revoke a key from the same page at any time. Requests made with a revoked key will fail with 401 Unauthorized.

🖇️ Connecting Unsloth to OpenCode Desktop

Opencode supports any OpenAI-compatible provider, so you can wire Unsloth in as a Custom provider. The setup is a one-time flow inside opencode's Connect provider dialog.

1. Open the provider picker. In opencode, type /model (or click the model selector at the bottom of the input).

Then click Connect provider at the top-right of the select model dialog.

2. Choose "Custom". In the provider list, scroll to Other and pick Custom.

3. Fill in the custom provider form:

Field
Value

Provider ID

unsloth-studio (lowercase, hyphens allowed)

Display name

Unsloth Studio

Base URL

http://localhost:8888/v1/ (replace 8888 with your Unsloth port; keep the trailing /v1/)

API key

Your sk-unsloth-… key

In the Models section, add one row per model you want to expose. The left field is the model ID as Unsloth serves it; the right field is what opencode will display:

Model ID (left)
Display name (right)

unsloth/Qwen3.6-27B-GGUF (the exact name of the model as shown in Unsloth)

unsloth/Qwen3.6-27B-GGUF (shown inside opencode)

Leave Headers empty unless you're proxying Unsloth through an auth layer that needs custom headers.

4. Click Submit. You should see an "Unsloth Studio connected. Unsloth models are now available to use" toast.

5. Select your Unsloth model. Once opencode is back up, type /model, search unsloth, and pick the model under the Unsloth Studio group. It'll be active on your next message.

Unsloth supports both OpenAI and Anthropic python SDKs.

⚙️ OpenCode CLI

OpenCode CLI can connect to a model already running in Unsloth Studio, or start one automatically when Unsloth is not running.

If Unsloth Studio is already running

With a model loaded in Unsloth Studio, open your project folder and run:

Using this command launches OpenCode with the model currently loaded in Unsloth, without changing your existing OpenCode setup.

Start a model automatically

If Unsloth Studio isn't already running, you can launch a temporary server and load a model in a single command:

Once OpenCode opens, give it a task such as:

It can inspect the project, create files, edit code, and run commands using the local model.

In this example, the model created a two-level platformer. Let’s open it up and see how it turned out.

Resume your work

OpenCode keeps your session history automatically, so you do not need --persist. To pick up where you left off, even if Unsloth is no longer running, use:

To open a particular session instead, use --session <session-id>.

See the complete unsloth start reference for model loading, remote Unsloth servers, and advanced options.

Optional: configure server access

unsloth run starts the local API server and loads a model for OpenCode to connect to. You can also customize how the server behaves when starting it.

Use -p to change which port the server runs on.

This starts the server on 0.0.0.0:8888, allowing other devices on your local network to connect.

For more advanced runtime configuration, see the main API tuning section.

Last updated

Was this helpful?