Skip to content

feat: cron job fallbacks should inherit from agent-level global fallbacks config #100577

Description

@yoyo837

Current Behavior

When creating a cron agentTurn job, payload.fallbacks must be explicitly set. If omitted, no fallback chain is available. There is no mechanism for the cron job to inherit the agent's global defaults.model.fallbacks config.

This means:

  1. Users must manually duplicate the global fallback list into each cron job
  2. When the global fallbacks config changes (e.g., adding/removing models), every cron job needs to be manually updated
  3. Cron job fallbacks silently drift out of sync with the agent's intended fallback chain

Desired Behavior

When payload.fallbacks is not explicitly set on a cron job, the job should inherit the agent-level agents.defaults.model.fallbacks list. If payload.fallbacks is explicitly set, it should override as it does today.

This mirrors how payload.model already works — when not set on the cron job, it inherits the agent's primary model.

Workaround

Manually sync payload.fallbacks to match the global config for each cron job, and remember to update them every time global fallbacks change. This is error-prone and easy to forget.

Context

  • Cron job model already inherits from agent primary config correctly
  • Cron job fallbacks should follow the same inheritance pattern
  • Discussed in OpenClaw session after discovering a cron job had a stale single-entry fallback list that didn't match the agent's 5-model fallback chain

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.maturity:stableIssue affects a taxonomy feature currently scored M4/M5.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions