Skip to content

[Bug]: Heartbeat Model Override Not Working in OpenClaw 2026.2.3-1 #9556

@aaronyarm

Description

@aaronyarm

Issue: Heartbeat Model Override Not Working in OpenClaw 2026.2.3-1
Goal: Configure heartbeat to use local Ollama model (Qwen 2.5 3B) instead of Anthropic Haiku to reduce API costs.
What We Tried:

Added heartbeat.model in agents.defaults (as shown in official docs)

json"agents": {
"defaults": {
"heartbeat": {
"every": "2m",
"model": "ollama/qwen2.5:3b"
}
}
}
Result: Heartbeat still used Haiku. Logs showed: provider=anthropic model=claude-haiku-4-5-20251001

Moved heartbeat config to per-agent level in agents.list[]

json"list": [
{
"id": "main",
"default": true,
"heartbeat": {
"every": "2m",
"model": "ollama/qwen2.5:3b"
}
}
]
Result: Still used Haiku.

Changed primary model to Qwen (workaround attempt)

json"model": {
"primary": "ollama/qwen2.5:3b"
}
Result: Got error: No API key found for provider "ollama"

Tried adding Ollama auth profile with various modes ("mode": "none", empty object, dummy API key)
Result: Either "Invalid config" or still the API key error.

Conclusion: The heartbeat.model override feature appears to be broken or improperly documented in OpenClaw. Even when configured exactly per the docs at https://docs.openclaw.ai/gateway/heartbeat, the heartbeat always uses the agent's primary model instead of the specified heartbeat model.
Workaround: Currently no working solution for using a different model for heartbeat. Only option is to disable heartbeat ("every": "0m") or accept the costs of using the primary model.
Environment:

OpenClaw version: 2026.2.3-1
Ollama running locally at localhost:11434
Models available: qwen2.5:3b, llama3.2:3b
Primary model: anthropic/claude-haiku-4-5-20251001

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions