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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions