Open Coding Assistants with Local Models

This content was generated with the assistance of AI and should be verified against the official documentation of each tool and framework before being relied on in production.

This section’s bibliography lists the reference material consulted while preparing these pages.

This page was written against Continue 2.1 (VS Code extension), Cline 4.1, Aider 0.86.2 and OpenCode 1.18.33, with Ollama 0.34.4 as the local server, as checked on 2026-09-28 (see the Running LLMs Locally baseline). Each tool’s documentation was read from its public source repository on that date.

GitHub Copilot and Claude Code can be pointed at local models with some caveats (see Local Models in GitHub Copilot and Local Models in Claude Code). The open-source assistants below are built to be model-agnostic from the start: local models are a first-class, documented configuration, and nothing in them depends on a vendor’s cloud. How to work with any coding assistant well is covered in The AI Coding Tool Landscape and the rest of AI-Assisted Development.

Continue

Continue is an IDE extension (VS Code and JetBrains) and CLI whose configuration lives in ~/.continue/config.yaml. Each model entry declares its roles: chat, edit, apply, autocomplete, embed, rerank (and summarize). The key design point for local use is that chat and autocomplete are different jobs: chat wants the best model you can run; autocomplete needs a small, fast model that answers in well under a second on every keystroke pause.

name: DocsAssistant local
version: 0.0.1
schema: v1
models:
  - name: Qwen3.6 (chat, agent)
    provider: ollama
    model: qwen3.6
    apiBase: http://localhost:11434
    roles: [chat, edit, apply]
    capabilities: [tool_use]
  - name: Qwen2.5-Coder 1.5B (autocomplete)
    provider: ollama
    model: qwen2.5-coder:1.5b
    roles: [autocomplete]
  - name: Nomic embeddings
    provider: ollama
    model: nomic-embed-text
    roles: [embed]

model must match exactly what ollama list shows — Continue reports a 404 for a model that has not been pulled. Setting model: AUTODETECT lists every local Ollama model instead. For an OpenAI-compatible server (vLLM, LM Studio, llama.cpp), use provider: openai with apiBase: http://localhost:8000/v1. Agent mode requires a model with working tool calls; capabilities: [tool_use] declares it when auto-detection does not. See Continue — Using Ollama with Continue and Continue — config.yaml reference.

Cline

Cline is an autonomous coding agent for VS Code (and a CLI) that plans, edits files and runs commands with per-step approval. It has dedicated Ollama and LM Studio providers, plus an OpenAI Compatible provider for anything else:

  1. Start the local server (ollama serve, or LM Studio’s server on http://localhost:1234).

  2. In Cline’s settings, select the provider — Ollama with base URL http://localhost:11434, or LM Studio with http://localhost:1234 — and choose the model.

  3. Enable Use Compact Prompt (Settings > Features), which the Cline docs recommend for local models: it shortens Cline’s large system prompt so it fits a local context window.

Cline’s own guidance sizes the machine by RAM: small quantized models at 16-32 GB, mid-size coding models at 32-64 GB, larger models and bigger contexts above that. As with every agent, raise Ollama’s context length (Cline’s system prompt and file contents fill a 4k default immediately). See Cline — Local models.

Aider

Aider is a terminal pair-programmer that edits files in a Git repository and commits each change. With Ollama:

export OLLAMA_API_BASE=http://127.0.0.1:11434
ollama pull qwen3.6
cd /path/to/your/project
aider --model ollama_chat/qwen3.6

Use the ollama_chat/ prefix (Ollama’s chat endpoint) rather than ollama/; the Aider docs recommend it. Aider addresses Ollama’s silent-truncation problem itself: by default it sets num_ctx on every request to fit the prompt plus 8k tokens for the reply. To pin a fixed window instead, use .aider.model.settings.yml:

- name: ollama_chat/qwen3.6
  extra_params:
    num_ctx: 65536

For any OpenAI-compatible server, set OPENAI_API_BASE (and OPENAI_API_KEY) and prefix the model with openai/, for example aider --model openai/Qwen/Qwen3.6-27B. Aider prints warnings for models it has no metadata for; its model-warnings page explains them. See Aider — Ollama and Aider — OpenAI compatible APIs.

OpenCode

OpenCode is an open-source terminal coding agent (with desktop and IDE front-ends). Local servers are configured as a custom provider in opencode.json (per project) or ~/.config/opencode/opencode.json (global), using the @ai-sdk/openai-compatible package and a baseURL:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3.6": { "name": "Qwen3.6 (local)" }
      }
    }
  }
}

The provider ID (ollama here) is any string; the models keys are the IDs sent to the server. OpenCode’s docs suggest raising Ollama’s num_ctx to 16k-32k if tool calls fail. ollama launch opencode writes this configuration for you. See OpenCode — Providers and Ollama — OpenCode.

Comparison

Tool Where the configuration lives Model roles Tool-calling needs Local autocomplete

Continue

~/.continue/config.yaml

per model: chat, edit, apply, autocomplete, embed, rerank

Agent mode needs tool calls; chat and autocomplete do not

Yes — a dedicated autocomplete model

Cline

VS Code extension settings

one model for the agent (separate plan/act models optional)

Heavy agentic use; enable Use Compact Prompt for local models

No

Aider

CLI flags, .aider.conf.yml, .aider.model.settings.yml

main model plus optional weak and editor models

Edits via text edit formats, so it works with models weaker at tool calls

No

OpenCode

opencode.json / ~/.config/opencode/opencode.json

per-agent model choice

Agentic; needs reliable tool calls and a large context

No

Continue is the only one of the four that can replace Copilot’s inline completions with a local model — the one Copilot feature BYOK does not cover. For agentic work, all four need what Claude Code needs: a tool-capable model, at least a 32k-64k context actually allocated by the server, and hardware to match.