Skip to content

Local models

nod can use a model that runs on your own computer, or on any server with an OpenAI-compatible API. Model requests then go only to the address you enter, and a local model costs nothing per request.

Local models work in the desktop app and source installs.

You need two things from the model server:

  • A model that supports tool calls. nod does all its work through tools, so a model without them can only chat.
  • At least 64,000 tokens of context. nod's instructions and tools take about 20,000 tokens before your first message. Most servers start with 4,096, and some cut nod's instructions off without an error.
  1. Install Ollama and pull a model that supports tools. On ollama.com, filter models by Tools.

    Terminal
    ollama pull gpt-oss:20b
  2. Start Ollama with a larger context. In the Ollama app, set Context length in Settings instead.

    Terminal
    OLLAMA_CONTEXT_LENGTH=65536 ollama serve
  3. Use the address http://localhost:11434/v1 in nod.

nod reads each Ollama model's details. It lists only models that support tools, sends images to vision models, offers the model's thinking levels and uses its context length.

  1. Open the account menu, select Models, then select Add server next to OpenAI-compatible. During onboarding, pick the OpenAI-compatible card instead.
  2. Check the Server address. nod fills in Ollama's address, http://localhost:11434/v1. If you leave out /v1, nod tries it for you.
  3. Add an API key only if the server needs one. During onboarding, select Add an API key first.
  4. Select Save connection, or Connect during onboarding.

Onboarding with the OpenAI-compatible card selected and the server address http://localhost/v1 filled in next to Connect.

nod checks the address by listing the server's models. The connection shows the server's host, such as localhost:11434. If you haven't chosen a model yet, nod selects the server's first one. To switch, open Settings → Models and choose a model.

The Models dialog lists the OpenAI-compatible server localhost with one model, selected, next to the Add server button.

After you pull or load another model, select the refresh button next to the connection. To change a server's key, add the same address again: nod updates that connection instead of adding a second one.

In a source install, you can set the server in .env instead of in the app. It then shows Server settings in Models, and you remove it from .env.

.env
LLM_PROVIDER=compatible
OPENAI_COMPATIBLE_BASE_URL=http://localhost:11434/v1
OPENAI_COMPATIBLE_API_KEY=
LLM_MODEL=gpt-oss:20b

Leave OPENAI_COMPATIBLE_API_KEY empty if the server doesn't need a key, and LLM_MODEL empty to use the server's first model. Restart nod after you edit .env. If the server isn't running when nod starts, start it and select the refresh button next to the connection. See Configuration.

The same connection works with hosted services that offer an OpenAI-compatible API. Enter the service's address and your API key.

Service Address
Groq https://api.groq.com/openai/v1
Together AI https://api.together.xyz/v1
DeepSeek https://api.deepseek.com/v1

nod lists every model such a service returns, including ones that can't chat. Pick a chat model that supports tools.

Area With a local or OpenAI-compatible model
Spending nod doesn't know the server's prices, so it records each request at $0. That usage doesn't count toward the monthly limit or task check-ins. A paid service still bills you.
Images Ollama and LM Studio models that support vision get screenshots and images. Models on other servers get text only.
Thinking levels Only Ollama models offer them. Other servers use the model's own default.
Decision checks Your selected model reads your replies to confirmations and checks emails that give account access. See Decision checks.
Background work Memory upkeep and other background work use your selected model.
Where requests go Model requests go only to the address you enter. Web search, websites, your apps and chat channels work as before. See Your data and privacy.
Where your key goes An API key stays in nod's encrypted key store and is added to each request by the nod server, like any other model key. See Where your keys go.
Problem Fix
nod couldn’t list this server’s models Check that the server is running, and that the address and API key are right. curl http://localhost:11434/v1/models should list your models.
This server has no models nod can use nod needs a model with tool support, and from Ollama it lists only those. Pull or load one, then try again.
nod ignores your request, forgets its tools or repeats itself The context is too small. Raise it to 65,536 or more and reload the model.
A new model doesn't appear Select the refresh button next to the connection.
Can’t load its models next to a server set in .env Start the server, then select the refresh button next to the connection.
Remove it and add the server again nod can't read the connection's saved settings. Remove the connection, then add the server again in Models.
nod asks before almost everything, or acts without asking The model is too small for the trust check. Switch to a larger model.