#Ollama Cloud - Help

1 messages Β· Page 1 of 1 (latest)

analog lilyBOT
#

Based on the documentation, here's how to configure Ollama Cloud with Clawdbot:

Ollama Cloud Configuration

Ollama Cloud works two ways with Clawdbot:

Option 1: Local Proxy (Recommended)

The simplest approach β€” run Ollama locally and it automatically offloads cloud models:

# Sign in to Ollama
ollama signin

# Pull a cloud model
ollama pull gpt-oss:120b-cloud
#
# Set API key (any value works for local, but for cloud use real key)
export OLLAMA_API_KEY="your-actual-api-key"

# Configure Clawdbot
clawdbot config set models.providers.ollama.apiKey "your-actual-api-key"

Then use in your config:

{
  agents: {
    defaults: {
      model: { primary: "ollama/gpt-oss:120b-cloud" }
    }
  }
#
}

Option 2: Direct API (Explicit Config)

Point directly to https://ollama.com:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com/v1",
        apiKey: "your-actual-api-key-from-https://ollama.com/settings/keys"
      }
    }
#
  }
}

Get Your API Key

  1. Go to https://ollama.com/settings/keys
  2. Create an API key
  3. Use that key in your configuration

Regarding "Slow Wake Up"

This is typically a cold-start issue with the first inference request. Cloud models via Ollama should be faster than running large models locally since the computation happens on Ollama's servers. If it's still slow:

  • Check your network latency to https://ollama.com
  • Ensure you're using the /v1 endpoint format
  • Consider starting with smaller cloud models to test

Docs: https://docs.clawd.bot/providers/ollama

whole trail
analog lilyBOT
# whole trail Error: Config validation failed: models.providers.ollama.baseUrl: Invalid input:...

The error means when you define models.providers.ollama explicitly, you need to include baseUrl too. Here's the fix:

# For Ollama Cloud (direct API access)
clawdbot config set models.providers.ollama.baseUrl "https://ollama.com/v1"
clawdbot config set models.providers.ollama.apiKey "your-api-key-from-https://ollama.com/settings/keys"

Or set it all at once in your config file:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com/v1",
#
        apiKey: "your-actual-api-key"
      }
    }
  }
}

Important: The /v1 suffix is required for OpenAI-compatible API format.

analog lilyBOT
# whole trail How JSON directory?

The config file is at ~/.clawdbot/config.json5

You can either:

1. Edit the file directly:

nano ~/.clawdbot/config.json5

Add this section:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com/v1",
#
        apiKey: "your-api-key"
      }
    }
  }
}

2. Or use the CLI (safer):

clawdbot config set models.providers.ollama.baseUrl "https://ollama.com/v1"
clawdbot config set models.providers.ollama.apiKey "your-api-key"

After changing, restart Clawdbot:

#
clawdbot gateway restart

Note: JSON5 allows comments and trailing commas, unlike regular JSON.

whole trail
analog lilyBOT
# whole trail And now?

What's happening? Are you getting an error, or is it not responding?

Run this to check:

clawdbot models list | grep ollama

If no Ollama models show up, check the logs:

clawdbot gateway logs --tail 50

What do you see?

analog lilyBOT
# whole trail clawdbot config set models.providers.ollama.baseUrl "https://ollama.com/v1" 🦞 ...

When you set explicit config, you need to define the models array too. Run both commands:

clawdbot config set models.providers.ollama.baseUrl "https://ollama.com/v1"
clawdbot config set models.providers.ollama.apiKey "your-api-key"
clawdbot config set models.providers.ollama.models '[{"id": "gpt-oss:120b-cloud"}]'

Or edit ~/.clawdbot/config.json5 directly:

{
  models: {
    providers: {
      ollama: {
        baseUrl: "https://ollama.com/v1",
#
        apiKey: "your-api-key",
        models: [
          { "id": "gpt-oss:120b-cloud" }
        ]
      }
    }
  }
}

Then restart:

clawdbot gateway restart
whole trail
# analog lily When you set explicit config, you need to define the models array too. Run both ...

I maked ths, but

clawdbot config set models.providers.ollama.baseUrl "https://ollama.com/v1"
clawdbot config set models.providers.ollama.apiKey "api-key"
clawdbot config set models.providers.ollama.models '[{"id": "gpt-oss:120b-cloud"}]'

🦞 Clawdbot 2026.1.24-3 (885167d) β€” If it's repetitive, I'll automate it; if it's hard, I'll bring jokes and a rollback plan.

Error: Config validation failed: models.providers.ollama.models: Invalid input: expected array, received undefined

🦞 Clawdbot 2026.1.24-3 (885167d) β€” Claws out, commit inβ€”let's ship something mildly responsible.

Error: Config validation failed: models.providers.ollama.baseUrl: Invalid input: expected string, received undefined

🦞 Clawdbot 2026.1.24-3 (885167d) β€” Less clicking, more shipping, fewer "where did that file go" moments.

Error: Config validation failed: models.providers.ollama.baseUrl: Invalid input: expected string, received undefined

analog lilyBOT
#
          { "id": "gpt-oss:120b-cloud" }
        ]
      }
    }
  }
}

Save (Ctrl+O, Enter, Ctrl+X), then restart:

clawdbot gateway restart
whole trail
# analog lily ```json5 { "id": "gpt-oss:120b-cloud" } ] } } } } ...

Clawdbot 2026.1.24-3 (885167d) β€” If you're lost, run doctor; if you're brave, run prod; if you're wise, run tests.

Config : ~/.clawdbot/clawdbot.json
Agent dir : ~/.clawdbot/agents/main/agent
Default : ollama/gpt-oss:120b-cloud
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (0) : -
Configured models (1): ollama/gpt-oss:120b-cloud

Auth overview
Auth store : ~/.clawdbot/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

Missing auth

  • ollama Run clawdbot configure or set an API key env var.

OAuth/token status

  • none

but the ollama not show in model providers

analog lilyBOT
#
grep -i ollama ~/.clawdbot/clawdbot.json

If the key is missing or empty, add it directly to ~/.clawdbot/clawdbot.json:

{
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "https://ollama.com/v1",
        "apiKey": "your-actual-api-key",
        "models": [
          { "id": "gpt-oss:120b-cloud" }
        ]
#
      }
    }
  }
}

Then restart:

clawdbot gateway restart
analog lilyBOT
# whole trail Nothing

Let me see the actual Ollama config section:

clawdbot config get models.providers.ollama

And show me what's in your main config:

cat ~/.clawdbot/clawdbot.json | python3 -m json.tool 2>/dev/null | grep -A20 '"ollama"' || cat ~/.clawdbot/clawdbot.json | grep -A20 ollama

What's the output?

whole trail
# analog lily Let me see the actual Ollama config section: ```bash clawdbot config get models...

cat ~/.clawdbot/clawdbot.json | python3 -m json.tool 2>/dev/null | grep -A20 '"ollama"' || cat ~/.clawdbot/clawdbot.json | grep -A20 ollama
"primary": "ollama/gpt-oss:120b-cloud"
},
"models": {
"ollama/gpt-oss:120b-cloud": {}
},
"workspace": "/root/clawd",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"hooks": {

analog lilyBOT
whole trail
analog lilyBOT
whole trail
# analog lily The `models.providers` section doesn't exist. You need to add it. Show me your f...

cat ~/.clawdbot/clawdbot.json | python3 -m json.tool
{
"meta": {
"lastTouchedVersion": "2026.1.24-3",
"lastTouchedAt": "2026-01-26T02:55:34.029Z"
},
"wizard": {
"lastRunAt": "2026-01-26T02:55:34.023Z",
"lastRunVersion": "2026.1.24-3",
"lastRunCommand": "configure",
"lastRunMode": "local"
},
"agents": {
"defaults": {
"model": {
"primary": "ollama/gpt-oss:120b-cloud"
},
"models": {
"ollama/gpt-oss:120b-cloud": {}
},
"workspace": "/root/clawd",
"compaction": {
"mode": "safeguard"
},
"maxConcurrent": 4,
"subagents": {
"maxConcurrent": 8
}
}
},
"messages": {
"ackReactionScope": "group-mentions"
},
"commands": {
"native": "auto",
"nativeSkills": "auto"
},
"hooks": {
"internal": {
"enabled": true,
"entries": {
"boot-md": {
"enabled": true
},
"command-logger": {
"enabled": true
},
"session-memory": {
"enabled": true
}
}
}
},
"gateway": {
// REMOVED
}

analog lilyBOT
#
      "ollama": {
        "baseUrl": "https://ollama.com/v1",
        "apiKey": "your-api-key-here",
        "models": [
          { "id": "gpt-oss:120b-cloud" }
        ]
      }
    }
  },
  "wizard": {

Save and restart:

whole trail
whole trail
analog lilyBOT
# whole trail session agent:main:main ...

It's working! πŸŽ‰

The status shows:

  • Model: ollama/gpt-oss:120b-cloud βœ“
  • Connected: Gateway connected, agent ready βœ“
  • Tokens: 0/200k (cold start ready)

Try sending a message and it should respond via Ollama Cloud now. Let me know if it's faster than before!

analog lilyBOT
whole trail
analog lilyBOT
#

Replace YOUR-API-KEY-HERE with your actual key from the config. What do you see?

whole trail
analog lilyBOT
# whole trail The gateway logs not exists, and the api key is correct

If logs don't exist, enable them and check what's happening:

# Check where logs are
ls -la ~/.clawdbot/logs/ 2>/dev/null || echo "No logs directory"

# Try running the gateway in foreground to see errors
clawdbot gateway start

Also verify the model name is correct. Try listing available models:

curl https://ollama.com/api/tags -H "Authorization: Bearer YOUR-API-KEY"

Or try a different, smaller cloud model like:

#
{ "id": "llama3.2:latest" }

What model names does the API return?

whole trail
analog lilyBOT
# whole trail No logs directory and the API returns correctly

If the API works but the gateway crashes on interaction, try running it in foreground to see the error:

clawdbot gateway start --foreground

Or check for crash dumps:

find ~/.clawdbot -name "*.log" -o -name "*.dump" -o -name "core" 2>/dev/null

Also try a simpler test β€” send a quick message and immediately check:

# Run in one terminal
#
clawdbot gateway start

# In another terminal, test API directly
curl https://ollama.com/api/chat \
  -H "Authorization: Bearer YOUR-API-KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "llama3.2:latest", "messages": [{"role": "user", "content": "hi"}]}'

Does the direct API call work? If it does, the issue is in how Clawdbot is calling it.

whole trail
# analog lily ```bash clawdbot gateway start # In another terminal, test API directly curl ht...

● clawdbot-gateway.service - Clawdbot Gateway (v2026.1.24-3)
Loaded: loaded (/root/.config/systemd/user/clawdbot-gateway.service; enabled; preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Mon 2026-01-26 00:27:12 -03; 4s ago
Process: 242900 ExecStart=/usr/bin/node /usr/lib/node_modules/clawdbot/dist/entry.js gateway --port 18789 (code=exited, status=1/FAILURE)
Main PID: 242900 (code=exited, status=1/FAILURE)
CPU: 7.236s

Jan 26 00:27:12 srv1258294 systemd[1934]: clawdbot-gateway.service: Failed with result 'exit-code'.

analog lilyBOT
whole trail
# analog lily The gateway is crashing. Get the actual error: ```bash # Check recent logs from...

Jan 26 00:27:12 srv1258294 node[242907]: 2026-01-26T03:27:12.235Z [clawdbot] Unhandled promise rejection: Error: Unhandled API in mapOptionsForApi: undefined
Jan 26 00:27:12 srv1258294 node[242907]: at mapOptionsForApi (file:///usr/lib/node_modules/clawdbot/node_modules/@mariozechner/pi-ai/src/stream.ts:471:10)
Jan 26 00:27:12 srv1258294 node[242907]: at streamSimple (file:///usr/lib/node_modules/clawdbot/node_modules/@mariozechner/pi-ai/src/stream.ts:218:26)
Jan 26 00:27:12 srv1258294 node[242907]: at streamAssistantResponse (file:///usr/lib/node_modules/clawdbot/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:233:25)
Jan 26 00:27:12 srv1258294 node[242907]: at runLoop (file:///usr/lib/node_modules/clawdbot/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:141:20)
Jan 26 00:27:12 srv1258294 node[242907]: at file:///usr/lib/node_modules/clawdbot/node_modules/@mariozechner/pi-agent-core/src/agent-loop.ts:51:3
Jan 26 00:27:12 srv1258294 systemd[1934]: clawdbot-gateway.service: Main process exited, code=exited, status=1/FAILURE
Jan 26 00:27:12 srv1258294 systemd[1934]: clawdbot-gateway.service: Failed with result 'exit-code'.

analog lilyBOT
#
    }
  }
}

The api field tells Clawdbot that Ollama uses OpenAI-compatible API format.

Save, then restart:

clawdbot gateway restart