From f0902944e0cc54ef162eacf75ce8ea76ab5be7e0 Mon Sep 17 00:00:00 2001 From: poprhythm Date: Mon, 9 Feb 2026 03:03:56 +0000 Subject: [PATCH] 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. --- openclaw/SETUP.md | 7 + openclaw/TROUBLESHOOTING.md | 292 ++++++++++++++++++++++++++++++++++++ 2 files changed, 299 insertions(+) create mode 100644 openclaw/TROUBLESHOOTING.md diff --git a/openclaw/SETUP.md b/openclaw/SETUP.md index dde2cee..06e7fff 100644 --- a/openclaw/SETUP.md +++ b/openclaw/SETUP.md @@ -111,6 +111,10 @@ During onboarding: ## Troubleshooting +⚠️ **KNOWN ISSUE (2026-02-09)**: OpenClaw gateway mode in Docker consistently fails with "No API key found for provider 'anthropic'" despite correct auth-profiles.json configuration. See [TROUBLESHOOTING.md](TROUBLESHOOTING.md) for detailed information about all attempted solutions. + +**Current Status**: Container runs and is accessible, but cannot execute AI requests with either Ollama or Anthropic API. + Check logs: ```bash docker logs openclaw -f @@ -120,3 +124,6 @@ Check if OpenClaw can reach Ollama: ```bash docker exec -it openclaw curl http://ollama:11434 ``` + +For detailed troubleshooting history and configuration attempts, see: +- **[TROUBLESHOOTING.md](TROUBLESHOOTING.md)** - Complete troubleshooting log diff --git a/openclaw/TROUBLESHOOTING.md b/openclaw/TROUBLESHOOTING.md new file mode 100644 index 0000000..da3cc3f --- /dev/null +++ b/openclaw/TROUBLESHOOTING.md @@ -0,0 +1,292 @@ +# 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 + +```yaml +services: + openclaw: + platform: linux/amd64 +``` + +### 2. Device Pairing Required (SOLVED) +**Error**: `disconnected (1008): pairing required` + +**Solution**: Approve pending device pairing requests +```bash +docker exec openclaw npx openclaw devices list +docker exec openclaw npx openclaw devices approve +``` + +### 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: +```yaml +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`: +```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: +```json +{ + "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: +```json +{ + "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) +```json +{ + "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": +```json +{ + "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`: +```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: +```bash +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: +```bash +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. + +## Documentation Links + +- **OpenClaw GitHub**: https://github.com/openclaw/openclaw +- **Ollama Integration Docs**: https://docs.ollama.com/integrations/openclaw +- **OpenClaw + Ollama Setup Guide**: https://openclawai.net/blog/openclaw-ollama-setup +- **GitHub Discussion #2936**: https://github.com/openclaw/openclaw/discussions/2936 (Ollama usage) +- **GitHub Issue #3740**: https://github.com/openclaw/openclaw/issues/3740 (Ollama auth check) +- **GitHub Issue #1253**: https://github.com/openclaw/openclaw/issues/1253 (Auth profile format) + +## Current Working Configuration + +### docker-compose.yml +```yaml +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 + +## Recommended Solutions to Try + +### 1. Install on Host Instead of Docker +```bash +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 +```yaml +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)