picoclaw/docs/troubleshooting.md
BeaconCat 8c6f2376ad docs: fix inaccuracies and add missing translations
Fixes cross-checked against v0.2.3 codebase:
- MaixCam: server_address → host + port (config.go MaixCamConfig)
- IRC: use_tls → tls, channels_to_join → channels (all languages)
- WeCom AI Bot: port 18791 → 18790 (shared gateway, all languages)
- credential_encryption: base_url → api_base, remove passphrase-only mode (not supported by code)
- migration guide: agents.defaults.model → model_name in "After" example
- troubleshooting: agents.defaults.model → model_name (all languages)
- spawn-tasks: fix truncated file, add Heartbeat introduction
- tools_configuration: add Tavily/SearXNG/GLMSearch, exec allow_remote/timeout_seconds, cron allow_command, skills github/cache
- ANTIGRAVITY_AUTH: fix file path cmd_auth.go → internal/auth/helpers.go, Go >= 1.25
- Matrix links: fix docs/ prefix in relative paths (fr/pt-br/vi)
- configuration: HEARTBEAT.md marked as auto-generated
- README family: add Hardware Compatibility entry to ja/fr/pt-br/vi

New translations (5 languages × 5 docs = 25 files):
- debug.md, credential_encryption.md, hardware-compatibility.md
- ANTIGRAVITY_AUTH.md, ANTIGRAVITY_USAGE.md
2026-03-20 21:53:08 +08:00

1.3 KiB
Raw Blame History

Troubleshooting

"model ... not found in model_list" or OpenRouter "free is not a valid model ID"

Symptom: You see either:

  • Error creating provider: model "openrouter/free" not found in model_list
  • OpenRouter returns 400: "free is not a valid model ID"

Cause: The model field in your model_list entry is what gets sent to the API. For OpenRouter you must use the full model ID, not a shorthand.

  • Wrong: "model": "free" → OpenRouter receives free and rejects it.
  • Right: "model": "openrouter/free" → OpenRouter receives openrouter/free (auto free-tier routing).

Fix: In ~/.picoclaw/config.json (or your config path):

  1. agents.defaults.model_name must match a model_name in model_list (e.g. "openrouter-free").
  2. That entrys model must be a valid OpenRouter model ID, for example:
    • "openrouter/free" auto free-tier
    • "google/gemini-2.0-flash-exp:free"
    • "meta-llama/llama-3.1-8b-instruct:free"

Example snippet:

{
  "agents": {
    "defaults": {
      "model_name": "openrouter-free"
    }
  },
  "model_list": [
    {
      "model_name": "openrouter-free",
      "model": "openrouter/free",
      "api_key": "sk-or-v1-YOUR_OPENROUTER_KEY",
      "api_base": "https://openrouter.ai/api/v1"
    }
  ]
}

Get your key at OpenRouter Keys.