April 14, 2026 • Version: v2026.4.12

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 als systemd-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. einen capabilities- oder metadata-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_mode oder ollama.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 ollama auf 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 eine After=ollama.service-Abhängigkeit zur OpenClaw-Dienstunit hinzu, wenn beide von systemd verwaltet 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 immer openclaw cache clear --scope providers unmittelbar 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 --verbose aus, 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:11435 oder ähnliches) und das v2026.4.12-Konfigurationsschema jetzt einen expliziten base_url anstelle der Ableitung aus host/port-Feldern erfordert, wird das neue Schema stillschweigend auf http://127.0.0.1:11434 zurü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:11434 erlaubt. Überprüfen Sie /var/log/audit/audit.log oder journalctl -xe | grep apparmor auf 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:11434 nicht korrekt aufgelöst. Der base_url muss auf das Docker-Bridge-Gateway gesetzt werden (typischerweise http://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 von cloud als Provider-Identifier anstatt als Modell-Tag). Überprüfen Sie die Routing-Auflösung mit openclaw 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, wenn GET /api/tags auf 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, dass ollama in 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_url hinzuzufü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.

Belege & Quellen

Diese Troubleshooting-Anleitung wurde automatisch von der FixClaw Intelligence Pipeline aus Community-Diskussionen synthetisiert.