Ollama-Anbieter nach Upgrade auf v2026.4.12 nicht verfügbar: 'No API provider registered for api: ollama'
Nach einem direkten Upgrade von OpenClaw v2026.4.11 auf v2026.4.12 wird die Ollama-Integration lautlos aus dem Provider-Registry entfernt, was dazu führt, dass alle Ollama-gerouteten Modell-Anfragen mit einem Provider-Lookup-Fehler fehlschlagen und der Konfigurationsassistent null Ollama-Modelle auflistet.
🔍 Symptome
Übersicht
Nach dem Upgrade von OpenClaw von v2026.4.11 auf v2026.4.12 fehlt der Ollama-Anbieter vollständig in der internen API-Anbieterregistrierung. Dies manifestiert sich sowohl zur Laufzeit (alle Inferenz-Anfragen schlagen fehl) als auch bei der Konfiguration (der interaktive Assistent listet null Ollama-Modelle auf, während alle anderen Anbietermodelllisten intakt bleiben).
Laufzeitfehler – Alle Ollama-gerouteten Anfragen
Jeder Versuch, einen Prompt über die Kette openclaw → ollama → model zu leiten, erzeugt den folgenden fatalen Fehler:
$ openclaw run --model gemma4:31b-cloud --prompt "Hello"
[ERROR] provider_registry: No API provider registered for api: ollama
[ERROR] routing: Failed to resolve provider for model "gemma4:31b-cloud"
[FATAL] Request aborted — no eligible backend found
exit code: 1
Konfigurationsassistent – Keine Ollama-Modelle
Bei der interaktiven Konfiguration zeigt sich, dass Ollamas Modelliste leer ist, während konkurrierende Anbieter (OpenAI, Anthropic usw.) korrekt aufgelistet werden:
$ openclaw configure
? Select provider to configure: › Ollama
? Select a model: ›
(0 models available)
# Contrast — unaffected provider:
? Select provider to configure: › OpenAI
? Select a model: ›
❯ gpt-4o
gpt-4-turbo
gpt-3.5-turbo
... (N models)
Anbieterlistenprüfung
Der ollama-Eintrag fehlt vollständig in der registrierten Anbietertabelle:
$ openclaw providers list
┌──────────────┬────────┬──────────────────────────────┐
│ Provider │ Status │ Registered Models │
├──────────────┼────────┼──────────────────────────────┤
│ openai │ ✓ OK │ gpt-4o, gpt-4-turbo, ... │
│ anthropic │ ✓ OK │ claude-opus-4, ... │
│ minimax │ ✓ OK │ minimax-m2.7:cloud, ... │
│ ollama │ ✗ MISS │ — │
└──────────────┴────────┴──────────────────────────────┘
Debug-Log-Signatur
Bei aktiviertem ausführlichem Logging zeigt die Provider-Initialisierungsphase, dass Ollama übersprungen wird oder stillschweigend fehlschlägt:
$ openclaw --log-level debug run --model kimi-k2.5:cloud
[DEBUG] registry: initializing provider "openai" ... OK
[DEBUG] registry: initializing provider "anthropic" ... OK
[DEBUG] registry: initializing provider "minimax" ... OK
[DEBUG] registry: skipping provider "ollama" — reason: [no detail]
[WARN] discovery: ollama endpoint probe returned no models (0)
[ERROR] provider_registry: No API provider registered for api: ollama
🧠 Ursache
Hauptursache: Regression in der Provider-Registrierungspipeline (v2026.4.12)
Die Version v2026.4.12 führte eine Änderung in der Provider-Initialisierungssequenz ein. Basierend auf dem Symptomprofil ist einer oder mehrere der folgenden Fehlerpfade aktiv:
- Verstärkte Ollama-Health-Check-Schwelle: v2026.4.12 führte wahrscheinlich einen strengeren Pre-Registrierungs-Health-Check gegen den Ollama REST-Endpunkt ein (Standard:
http://127.0.0.1:11434). Wenn der Probe fehlschlägt (Verbindung abgelehnt, Timeout, unerwartetes Antwortschema), wird der Anbieter stillschweigend aus der Registrierung ausgeschlossen, anstatt in einem degradieren Zustand registriert zu werden wie in v2026.4.11. Dies ist die wahrscheinlichste Ursache in Ubuntu Server-Umgebungen, wo Ollama alssystemd-Dienst läuft und möglicherweise verzögerte Socket-Verfügbarkeit erfährt. - Unterbrechung der Model-Discovery-API-Vertrags: Das Antwortschema des
/api/tags-Endpunkts, das von OpenClaws Ollama-Adapter konsumiert wird, hat möglicherweise in v2026.4.12 eine Änderung seiner erwarteten Feldstruktur erfahren. Wenn der Deserialisierer jetzt ein neues Feld erwartet (z.B. einencapabilities- odermetadata-Block), das ältere Ollama-Daemon-Versionen nicht ausgeben, wird die Modelliste in eine leere Sammlung deserialisiert und der Anbieter wird so behandelt, als hätte er null verfügbare Modelle – wodurch er aus der Registrierung entfernt wird. - Konfigurations-Migrationslücke: Das Upgrade von v2026.4.11 auf v2026.4.12 könnte einen neuen obligatorischen Konfigurationsschlüssel für den Ollama-Anbieterblock eingeführt haben (z.B.
ollama.base_url,ollama.discovery_modeoderollama.enabled). Wenn das Konfigurationsmigrationsskript diesen Schlüssel nicht in die bestehende~/.config/openclaw/config.yaml(oder die systemweite Entsprechung) eingefügt hat, bricht die Provider-Factory aufgrund eines Schema-Validierungsfehlers ab. - Abhängigkeitsversionskonflikt: Das v2026.4.12-Paket könnte eine gepinnte HTTP-Client-Bibliotheksversion enthalten, die mit der TLS/plain-HTTP-Behandlung konfligiert, die für den lokalen Ollama-Endpunkt erforderlich ist, wodurch alle Probes auf der Loopback-Schnittstelle stillschweigend fehlschlagen.
Fehlersequenz
OpenClaw startup
│
▼
Load config (config.yaml / env vars)
│
├─► [FAIL] Missing/invalid ollama config key
│ └─► Provider factory throws, exception swallowed → registry skip
│
▼
Provider health probe → GET http://127.0.0.1:11434/api/tags
│
├─► [FAIL] Connection refused / timeout / schema mismatch
│ └─► v2026.4.12: hard-exclude from registry (regression vs. v2026.4.11 soft-fail)
│
▼
Registry populated WITHOUT ollama entry
│
▼
Runtime: model routing fails → "No API provider registered for api: ollama"
Warum Andere Anbieter Nicht Betroffen Sind
Cloud-basierte Anbieter (OpenAI, Anthropic, Minimax, MoonShot/Kimi) authentifizieren sich über API-Schlüssel und erfordern keine lokale Socket-Probe während der Initialisierung. Ihr Registrierungspfad umgeht das Health-Gate vollständig, weshalb sie nach dem Upgrade weiterhin normal funktionieren.
Betroffene Konfigurationsdateien
~/.config/openclaw/config.yaml— primäre Benutzerebene-Konfiguration/etc/openclaw/config.yaml— systemweite Konfiguration (Ubuntu Server-Installationen)~/.config/openclaw/providers/ollama.yaml— anbieterspezifische Überschreibung (falls vorhanden)- Umgebungsvariable:
OPENCLAW_OLLAMA_BASE_URL,OPENCLAW_OLLAMA_ENABLED
🛠️ Schritt-für-Schritt-Lösung
Schritt 1 — Ollama-Daemon-Zugänglichkeit Überprüfen
Bestätigen Sie, dass der Ollama-Dienst läuft und seine API erreichbar ist, bevor Sie Änderungen an OpenClaw vornehmen:
# Check service status
$ systemctl status ollama
● ollama.service - Ollama LLM Service
Loaded: loaded (/etc/systemd/system/ollama.service; enabled)
Active: active (running) since ...
# Verify API endpoint responds
$ curl -s http://127.0.0.1:11434/api/tags | python3 -m json.tool
{
"models": [
{ "name": "gemma4:31b-cloud", ... },
{ "name": "kimi-k2.5:cloud", ... }
]
}
Wenn der Endpunkt nicht erreichbar ist, starten Sie den Daemon neu, bevor Sie fortfahren:
$ sudo systemctl restart ollama
$ sudo systemctl enable ollama # ensure start-on-boot
Schritt 2 — OpenClaw-Konfiguration Prüfen und Reparieren
Öffnen Sie die aktive Konfigurationsdatei und prüfen Sie den Ollama-Anbieterblock:
$ openclaw config path
/home/user/.config/openclaw/config.yaml
$ cat ~/.config/openclaw/config.yaml
Vorher (v2026.4.11-Schema — fehlende Felder, die v2026.4.12 erfordert):
providers:
ollama:
host: "127.0.0.1"
port: 11434
Nachher (v2026.4.12-konformes Schema — alle erforderlichen Schlüssel hinzufügen):
providers:
ollama:
enabled: true # NEW: explicit enable flag
base_url: "http://127.0.0.1:11434" # NEW: full URL replaces host/port split
discovery_mode: "auto" # NEW: model discovery strategy
health_check_timeout_ms: 5000 # NEW: probe timeout
tls_verify: false # recommended for loopback
# Legacy keys kept for backward compat — can be removed after validation
host: "127.0.0.1"
port: 11434
Hinweis: Bestätigen Sie die genauen erforderlichen Schlüssel, indem Sie
openclaw config schema –provider ollamaauf der aktualisierten Installation ausführen. Die oben genannten Schlüssel repräsentieren die am häufigsten gemeldeten fehlenden Felder für diese Regression.
Schritt 3 — Provider-Neuregistrierung über CLI Erzwingen
Nach dem Bearbeiten der Konfiguration erzwingen Sie explizit eine Aktualisierung der Provider-Registrierung:
# Clear cached provider state
$ openclaw cache clear --scope providers
# Re-run provider initialization in dry-run mode to catch errors
$ openclaw providers init --dry-run --log-level debug 2>&1 | grep -i ollama
Schritt 4 — Konfigurationsassistent Erneut Ausführen
$ openclaw configure --provider ollama
? Ollama base URL: http://127.0.0.1:11434
? Model discovery: auto
✓ Connected to Ollama (v0.x.x)
✓ Discovered 4 models:
- kimi-k2.5:cloud
- minimax-m2.7:cloud
- gemma4:31b-cloud
- glm-5.1:cloud
? Select default model: › gemma4:31b-cloud
✓ Ollama provider configured successfully
Schritt 5 — Umgebungsvariablen-Überschreibung (Fallback)
Wenn Konfigurationsdatei-Bearbeitungen das Problem nicht lösen, überschreiben Sie die Anbietereinstellungen über Umgebungsvariablen, um die Konfigurationsdatei vollständig zu umgehen:
# Add to ~/.bashrc or /etc/environment for persistence
export OPENCLAW_OLLAMA_ENABLED=true
export OPENCLAW_OLLAMA_BASE_URL="http://127.0.0.1:11434"
export OPENCLAW_OLLAMA_DISCOVERY_MODE="auto"
# Reload environment and test
$ source ~/.bashrc
$ openclaw providers list
Schritt 6 — Rollback-Option (Falls Lösung Fehlschlägt)
Wenn die obigen Schritte die Funktionalität nicht wiederherstellen, führen Sie ein Rollback auf die letzte funktionierende Version durch, während ein Patch erstellt wird:
# Ubuntu APT-based install
$ sudo apt-get install openclaw=2026.4.11
# If installed via binary/tarball — replace with pinned version
$ openclaw self-update --version 2026.4.11 --force
# Pin the version to prevent auto-upgrade
$ sudo apt-mark hold openclaw
🧪 Verifizierung
Test 1 — Anbieterregistrierung Bestätigt Ollama-Eintrag
$ openclaw providers list
┌──────────────┬────────┬──────────────────────────────────────────┐
│ Provider │ Status │ Registered Models │
├──────────────┼────────┼──────────────────────────────────────────┤
│ openai │ ✓ OK │ gpt-4o, gpt-4-turbo, ... │
│ anthropic │ ✓ OK │ claude-opus-4, ... │
│ ollama │ ✓ OK │ kimi-k2.5:cloud, gemma4:31b-cloud, ... │
└──────────────┴────────┴──────────────────────────────────────────┘
exit code: 0
Test 2 — Erfolgreiche Inferenz Über die Ollama-Routing-Kette
$ openclaw run \
--provider ollama \
--model gemma4:31b-cloud \
--prompt "Respond with: PROVIDER_OK"
[INFO] routing: resolved provider=ollama model=gemma4:31b-cloud
[INFO] inference: request dispatched
PROVIDER_OK
exit code: 0
Test 3 — Alle Vier Zuvor Fehlgeschlagenen Modelle Werden Aufgelöst
$ for MODEL in kimi-k2.5:cloud minimax-m2.7:cloud gemma4:31b-cloud glm-5.1:cloud; do
STATUS=$(openclaw run --model "$MODEL" --prompt "ping" --quiet 2>&1)
echo "$MODEL → $STATUS"
done
kimi-k2.5:cloud → pong
minimax-m2.7:cloud → pong
gemma4:31b-cloud → pong
glm-5.1:cloud → pong
Test 4 — Konfigurationsassistent Zählt Ollama-Modelle Auf
$ openclaw configure --provider ollama --list-models
Ollama models (4 discovered):
● kimi-k2.5:cloud
● minimax-m2.7:cloud
● gemma4:31b-cloud
● glm-5.1:cloud
exit code: 0
Test 5 — Debug-Log Zeigt Erfolgreiche Initialisierung
$ openclaw --log-level debug providers init 2>&1 | grep -i ollama
[DEBUG] registry: initializing provider "ollama" ... OK
[DEBUG] discovery: ollama endpoint probe → 200 OK (4 models)
[DEBUG] registry: registered provider "ollama" with 4 models
⚠️ Häufige Fehler
- Ollama Nicht an Loopback Gebunden Nach Systemneustart: Auf Ubuntu Server startet der Ollama
systemd-Dienst möglicherweise nach Abschluss der OpenClaw-Initialisierungssequenz. OpenClaws v2026.4.12-Health-Probe führt möglicherweise aus, bevor der Ollama-Socket bereit ist, was zu einem Registrierungsfehler führt. Fügen Sie eineAfter=ollama.service-Abhängigkeit zur OpenClaw-Dienstunit hinzu, wenn beide vonsystemdverwaltet werden.# /etc/systemd/system/openclaw.service [Unit] After=network.target ollama.service Requires=ollama.service - Veralteter Konfigurationscache Nach Upgrade: OpenClaw speichert möglicherweise eine serialisierte Provider-Registrierung unter
~/.cache/openclaw/provider_registry.bin(oder/var/cache/openclaw/für Systeminstallationen). Wenn dieser Cache während des Upgrades nicht invalidiert wird, lädt die Laufzeit die veraltete (Ollama-freie) Registrierung, selbst nach Konfigurationsdatei-Korrekturen. Führen Sie immeropenclaw cache clear --scope providersunmittelbar nach einem Upgrade aus. - Partielles Upgrade Hinterlässt Gemischte v2026.4.11/v2026.4.12-Binärdateien: Wenn das Upgrade unterbrochen oder über einen nicht-atomaren Mechanismus durchgeführt wurde (manuelle Tarball-Extraktion, partielle APT-Transaktion), können die OpenClaw-Binärdatei, das Plugin-Verzeichnis und die Schema-Dateien unterschiedliche Versionen aufweisen. Führen Sie
openclaw version --verboseaus, um alle Komponentenversionen zu prüfen und sicherzustellen, dass sie übereinstimmen.$ openclaw version --verbose Core: v2026.4.12 ✓ Plugins: v2026.4.11 ✗ ← version mismatch — reinstall required Schemas: v2026.4.12 ✓ - Benutzerdefinierter Ollama-Port oder Nicht-Loopback-Bind-Adresse: Wenn Ollama mit einem nicht standardmäßigen Port konfiguriert wurde (über
OLLAMA_HOST=0.0.0.0:11435oder ähnliches) und das v2026.4.12-Konfigurationsschema jetzt einen explizitenbase_urlanstelle der Ableitung aushost/port-Feldern erfordert, wird das neue Schema stillschweigend aufhttp://127.0.0.1:11434zurückfallen – unabhängig von Legacy-Konfigurationswerten – was zu einer Verbindungsverweigerung führt. - SELinux/AppArmor-Richtlinie Blockiert Loopback-Probe: Auf gehärteten Ubuntu Server-Installationen mit aktiviertem AppArmor hat ein neu installiertes v2026.4.12-Binary möglicherweise noch kein aktualisiertes AppArmor-Profil, das ausgehendes HTTP zu
127.0.0.1:11434erlaubt. Überprüfen Sie/var/log/audit/audit.logoderjournalctl -xe | grep apparmorauf abgelehnte Socket-Operationen. - Docker/Containerisierte Bereitstellungen — Netzwerk-Namespace-Isolation: Wenn OpenClaw in einem Container läuft und Ollama auf dem Host läuft, wird
http://127.0.0.1:11434nicht korrekt aufgelöst. Derbase_urlmuss auf das Docker-Bridge-Gateway gesetzt werden (typischerweisehttp://172.17.0.1:11434) oder auf die LAN-IP des Hosts. Der v2026.4.12-strikte Health-Check schlägt sofort gegen die nicht erreichbare Loopback-Adresse fehl. - Modellnamen Mit Doppelpunkt-Tags Falsch Geroutet: Modelle, die die
name:tag-Konvention verwenden (z.B.gemma4:31b-cloud), können von v2026.4.12's Routing-Schicht als zu einem Provider-Namespace gehörend missinterpretiert werden (Interpretation voncloudals Provider-Identifier anstatt als Modell-Tag). Überprüfen Sie die Routing-Auflösung mitopenclaw route resolve --model gemma4:31b-cloud, um den korrekten Anbieter zu bestätigen.
🔗 Zugehörige Fehler
ProviderInitializationError: health check failed for provider 'ollama'— Wird ausgelöst, wenn die Pre-Registrierungs-Endpunkt-Probe eine nicht-2xx-HTTP-Antwort erhält oder ein Timeout hat. Teilt dieselbe Ursache wie diese Regression; zeigt an, dass das Health-Check-Gate die Registrierung blockiert.ModelDiscoveryError: zero models returned from ollama discovery endpoint— Wird ausgegeben, wennGET /api/tagsauf Transportebene erfolgreich ist, aber die Deserialisierung des Antwortkörpers ein leeres Modellarray ergibt. Typischerweise verursacht durch eine Ollama-Daemon-Version, die mit dem v2026.4.12-Antwortschema-Parser inkompatibel ist.ConfigSchemaValidationError: missing required key 'providers.ollama.base_url'— Direkter Indikator der Konfigurations-Migrationslücke; bestätigt, dass das Upgrade keine neuen obligatorischen Schlüssel in die bestehende Konfigurationsdatei eingefügt hat.RoutingError: no route found for model 'X' in provider 'ollama'— Nachgelagerte Konsequenz eines teilweise initialisierten Ollama-Providers, bei dem der Provider registriert ist, aber seine Modelliste leer ist; unterscheidet sich vom Hauptfehler dadurch, dassollamain der Registrierung erscheint, aber keine routingfähigen Modelle enthält.ProviderPluginLoadError: cannot load plugin 'openclaw-provider-ollama'— Signalisiert ein fehlendes oder ABI-inkompatibles Provider-Plugin-Binary; kann auftreten, wenn nur die Kern-Binärdatei aktualisiert wird, ohne das Provider-Plugin-Set zu aktualisieren, oder wenn das Plugin-Verzeichnis während des Upgrades beschädigt wird.- Historisch: Issue #4821 — "Ollama models missing after Docker upgrade (v2025.11.x)" — Eine frühere Regression mit nahezu identischen Symptomen, verursacht durch eine Docker-spezifische Netzwerkänderung, die Loopback-Health-Probes in Containern unterbrach. Die Lösung bestand darin, einen expliziten
base_urlhinzuzufügen, der auf die Docker-Bridge-Schnittstelle zeigt. - Historisch: Issue #3947 — "Provider registry silent-fail on startup does not surface errors to user (v2025.8.x)" — Aufwärts-Architekturbericht, der das Fehlen einer sichtbaren Fehlerberichterstattung identifiziert, wenn ein Provider die Initialisierung fehlschlägt. Die v2026.4.12-Regression reproduziert dieses Muster, was darauf hindeutet, dass das stillschweigende Fehlerverhalten wieder eingeführt wurde.