Files
docker-infrastructure/openclaw/TROUBLESHOOTING.md
T
poprhythm f0902944e0 Document OpenClaw troubleshooting attempts
Add comprehensive troubleshooting documentation for OpenClaw auth issues:
- All configuration attempts with Ollama and Anthropic
- Error messages and findings
- Links to relevant GitHub issues and documentation
- Recommendations for future attempts

Issue: Gateway mode fails with 'No API key found' despite correct auth-profiles.json configuration with both Ollama and real Anthropic API key.
2026-02-09 03:03:56 +00:00

8.6 KiB

OpenClaw Troubleshooting Log

Issue Summary

OpenClaw gateway mode consistently fails with "No API key found for provider 'anthropic'" despite correct configuration of auth-profiles.json with both Ollama and Anthropic API keys.

Date: 2026-02-09 OpenClaw Version: ghcr.io/openclaw/openclaw:main (2026.2.6-3) Environment: Docker on x86_64 Linux

Errors Encountered

1. Architecture Mismatch (SOLVED)

Error: [FATAL tini (7)] exec docker-entrypoint.sh failed: Exec format error

Cause: Docker image defaults to ARM64 architecture

Solution: Add platform: linux/amd64 to docker-compose.yml

services:
  openclaw:
    platform: linux/amd64

2. Device Pairing Required (SOLVED)

Error: disconnected (1008): pairing required

Solution: Approve pending device pairing requests

docker exec openclaw npx openclaw devices list
docker exec openclaw npx openclaw devices approve <REQUEST_ID>

3. API Key Not Found (UNSOLVED)

Error:

Error: No API key found for provider "anthropic".
Auth store: /home/node/.openclaw/agents/main/agent/auth-profiles.json

This error persists despite all configuration attempts below.

Configuration Attempts

Attempt 1: Ollama Integration via Environment Variables

Added environment variables to docker-compose.yml:

environment:
  - OPENCLAW_AGENT_PROVIDER=ollama
  - OPENCLAW_AGENT_MODEL=llama3
  - OPENCLAW_OLLAMA_BASE_URL=http://ollama:11434

Result: Gateway still defaulted to Anthropic

Attempt 2: Main Config with Ollama

Created /srv/openclaw/config/config.json:

{
  "agents": {
    "defaults": {
      "provider": "ollama",
      "model": "llama3",
      "authProfile": "ollama"
    }
  },
  "ollama": {
    "baseURL": "http://ollama:11434"
  }
}

Result: Gateway ignored configuration

Attempt 3: OpenAI-Compatible Ollama Configuration

Based on GitHub issues showing Ollama uses OpenAI-compatible API:

{
  "models": {
    "providers": {
      "ollama": {
        "baseUrl": "http://ollama:11434/v1",
        "api": "openai-completions",
        "models": ["llama3", "qwen3-coder"]
      }
    }
  }
}

Result: Gateway still tried to use Anthropic

Attempt 4: Dummy Anthropic Token for Ollama Redirect

Created auth-profiles.json with anthropic profile pointing to Ollama:

{
  "anthropic": {
    "provider": "openai",
    "baseURL": "http://ollama:11434/v1",
    "apiKey": "sk-ollama-dummy"
  }
}

Result: Still complained about missing Anthropic API key

Attempt 5: Real Anthropic API Key (Simple Format)

{
  "anthropic": {
    "apiKey": "sk-ant-api03-..."
  }
}

Result: Same error

Attempt 6: Provider:Profile Name Format

Based on GitHub issues showing profile names like "anthropic:claude-cli":

{
  "anthropic:default": {
    "provider": "anthropic",
    "apiKey": "sk-ant-api03-..."
  }
}

Result: Same error

Attempt 7: Multiple File Locations

Tried placing auth-profiles.json in:

  • /srv/openclaw/config/auth-profiles.json (root level)
  • /srv/openclaw/config/agents/main/agent/auth-profiles.json (agent level)
  • Both locations simultaneously

Result: Same error regardless of location

Attempt 8: Agent-Specific Config

Created /srv/openclaw/config/agents/main/agent/config.json:

{
  "provider": "openai",
  "model": "llama3",
  "authProfile": "anthropic",
  "openai": {
    "baseURL": "http://ollama:11434/v1"
  }
}

Result: Same error

Attempt 9: Ollama Launch Command

Tried using Ollama's built-in OpenClaw launcher:

docker exec ollama ollama launch openclaw --config --model llama3

Result: Command succeeded and said "Added llama3 to OpenClaw" But: Gateway mode in Docker still couldn't use it

Files Verified

All configurations were verified to be:

  • Valid JSON (validated with python3 -m json.tool)
  • Correct permissions (chown 1000:1000, owned by node user)
  • In correct locations (verified with docker exec inside container)
  • Properly mounted via Docker volumes

Network Verification

Confirmed OpenClaw and Ollama connectivity:

docker exec openclaw curl -s http://ollama:11434/api/tags
# Successfully returned list of available models including llama3

Both containers on same network (npm-network):

Key Findings

1. Gateway Mode Default Behavior

The log message agent model: anthropic/claude-opus-4-6 appears on every startup regardless of configuration, suggesting gateway mode with --allow-unconfigured flag has hardcoded Anthropic as default.

2. Ollama Integration Method

Official documentation shows ollama launch openclaw is intended for HOST installation, not containerized deployment. The containerized gateway mode may not support Ollama properly.

3. Auth Profile Format

GitHub issues show various profile formats:

  • "anthropic:claude-cli" with "mode": "oauth"
  • "ollama:local" with "token": "..."
  • "minimax-cn:default" with "provider": "minimax"

None of these formats worked in our containerized setup.

Current Working Configuration

docker-compose.yml

services:
  openclaw:
    container_name: openclaw
    image: ghcr.io/openclaw/openclaw:main
    platform: linux/amd64
    restart: unless-stopped
    command: ["node", "openclaw.mjs", "gateway", "--allow-unconfigured", "--bind", "lan"]
    environment:
      - HOME=/home/node
      - TERM=xterm-256color
      - TZ=America/New_York
      - PUID=1000
      - PGID=1000
      - OPENCLAW_GATEWAY_TOKEN=27d4e63adce6c8f7c5396e8ca3f9ec5e6ff590077247fb11da03a8684ee3c711
      - OPENCLAW_GATEWAY_BIND=lan
      - VIRTUAL_HOST=openclaw.kolpacksoftware.com
      - VIRTUAL_PORT=18789
      - LETSENCRYPT_HOST=openclaw.kolpacksoftware.com
    volumes:
      - /srv/openclaw/config:/home/node/.openclaw
      - /srv/openclaw/workspace:/home/node/.openclaw/workspace
    init: true
    networks:
      - npm-network

networks:
  npm-network:
    external: true

Status

  • Container runs without crashes
  • Gateway accessible at https://openclaw.kolpacksoftware.com
  • WebSocket connections work
  • Device pairing works
  • Cannot use any AI model (Ollama or Anthropic)

Possible Causes

  1. Docker Image Issue: The containerized version may have a bug or missing configuration
  2. Gateway Mode Limitation: --allow-unconfigured flag may bypass auth-profiles.json entirely
  3. Version-Specific Bug: This version (2026.2.6-3) may have a regression
  4. Missing Setup Step: There may be an initialization step we're missing
  5. Auth System Design: The auth system may be designed for host installation only

1. Install on Host Instead of Docker

npm install -g openclaw@latest
openclaw onboard --install-daemon
ollama launch openclaw

This follows the official documentation more closely.

2. Try Different Docker Image Tag

image: ghcr.io/openclaw/openclaw:2026.2.5  # or other specific version

3. Remove --allow-unconfigured Flag

May require running openclaw onboard inside container first (interactive, difficult in Docker).

4. File GitHub Issue

Report this configuration with:

  • docker-compose.yml
  • auth-profiles.json attempts
  • Full error logs
  • Ask maintainers for Docker-specific setup guide

5. Alternative AI Assistants

  • Open WebUI: Excellent Ollama integration, easy Docker setup
  • LibreChat: Multi-provider support including Ollama
  • Both are well-documented and Docker-friendly

Next Steps

Before revisiting:

  1. Check OpenClaw GitHub for updates/fixes related to Docker deployment
  2. Look for new documentation about auth-profiles.json format
  3. Search for successful Docker deployment examples
  4. Consider whether host installation is more appropriate for this use case

Environment Details

  • Host OS: Linux 6.8.0-94-generic (Ubuntu 24.04)
  • Docker Version: 28.2.2
  • Architecture: x86_64
  • Ollama Version: Running in separate container on same network
  • Ollama Models: llama3:latest, qwen3-coder, qwen3:8b, gemma3:4b, and others
  • Network: npm-network (shared with nginx-proxy)