Skip to content

Cron isolated jobs ignore payload.model and keep stale session model override #33577

@Cuttingwater

Description

@Cuttingwater

Summary

Cron isolated jobs continue running on a stale session model override (e.g. gpt-5.3-codex) even after editing job payload model to local Ollama models.

Expected

payload.model on cron job should be applied on each run (or at least override stale session model overrides for that run).

Actual

Run history still reports Codex model/provider:

  • model: gpt-5.3-codex
  • provider: openai-codex

even when cron payload is set to:

  • ollama/qwen3.5:4b
  • ollama/qwen3.5:35b-a3b

Repro

  1. Edit existing isolated cron jobs:
    • openclaw cron edit <job> --model ollama/qwen3.5:4b --light-context
  2. Run immediately:
    • openclaw cron run <job> --expect-final --timeout 120000
  3. Inspect run history:
    • openclaw cron runs --id <job> --limit 1
  4. Observe run model/provider still Codex.

Additional evidence

Session store had sticky overrides for cron sessions under:

  • ~/.openclaw/agents/main/sessions/sessions.json

Keys like:

  • agent:main:cron:<jobId>
  • agent:main:cron:<jobId>:run:<runId>

retained modelOverride: gpt-5.3-codex.

Removing these entries and restarting gateway did not reliably force payload model on subsequent runs.

Impact

High token/cost risk for automation fleets: cron jobs intended for cheap local models silently consume expensive cloud tokens.

Requested fix

  • Re-apply payload.model per cron run with highest precedence.
  • Ignore/clear stale session-level overrides for cron run sessions.
  • Add explicit visibility in cron list/runs to show effective model resolution path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    staleMarked as stale due to inactivity

    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