cron-model-fix

Diagnose and fix OpenClaw cron job model override issues. Use when cron jobs show "not allowed, falling back to agent defaults" in logs, experience unexpected cloud token burn, have slow run times, or models aren't being applied correctly. Fixes agent model allowlist configuration.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cron-model-fix" with this command: npx skills add mklue/cron-model-fix

Cron Model Fix

Diagnose and fix OpenClaw cron job model override issues where configured models are rejected and fall back to agent defaults.

When to Use This Skill

Use when:

  • Cron jobs show "not allowed, falling back to agent defaults" in gateway logs
  • Unexpected cloud token burn on cron jobs configured with local models
  • Slow cron run times (60-180s) when local models should be used
  • Model overrides in cron jobs aren't being applied
  • Need to validate agent model allowlist configuration

Quick Start

# Diagnose the issue
openclaw skill run cron-model-fix --diagnose

# Apply the fix (adds missing models to allowlist)
openclaw skill run cron-model-fix --fix --model ollama/qwen3.5:0.8b

# Validate configuration
openclaw skill run cron-model-fix --validate

Root Cause

OpenClaw has three model configuration layers. ALL must include the model:

Layer 1: Provider Model Definition

Location: models.providers.<provider>.models[] Purpose: Defines model specs (context, costs, capabilities)

Layer 2: Agent Default Model

Location: agents.defaults.model.primary Purpose: Default model when none specified

Layer 3: Agent Model Allowlist ← COMMON ISSUE

Location: agents.defaults.models Purpose: WHICH MODELS ARE PERMITTED for agent/cron use

Problem: Model exists in Layer 1, but missing from Layer 3 (allowlist).

Gateway logs show:

{"subsystem":"cron"}
"payload.model 'ollama/qwen3.5:0.8b' not allowed, falling back to agent defaults"

Diagnosis

Step 1: Check Gateway Logs

tail -100 /tmp/openclaw/openclaw-*.log | grep -i "not allowed\|falling back"

If you see: "payload.model '<model>' not allowed, falling back to agent defaults" → Model is missing from agent allowlist

Step 2: Check Agent Allowlist

cat ~/.openclaw/openclaw.json | python3 -c "
import json, sys
config = json.load(sys.stdin)
models = config.get('agents', {}).get('defaults', {}).get('models', {})
print('Allowed models:')
for model in models:
    print(f'  - {model}')
"

Check if your cron model is in the list. If not, it will be rejected.

Step 3: Check Cron Job Configuration

openclaw cron list

Verify:

  • Cron job has model specified in payload
  • Model format matches allowlist (e.g., ollama/qwen3.5:0.8b)

The Fix

Add the model to agents.defaults.models in ~/.openclaw/openclaw.json:

{
  "agents": {
    "defaults": {
      "model": {
        "primary": "ollama/qwen3.5:cloud",
        "fallbacks": [...]
      },
      "models": {
        "ollama/glm-4.7-flash": {},
        "ollama/kimi-k2.5:cloud": {},
        "ollama/qwen2.5vl:7b": {},
        "ollama/qwen3.5:397b-cloud": {},
        "ollama/qwen3.5:4b-32K": {},
        "ollama/qwen3.5:4b-32k": {},
        "ollama/qwen3.5:9b-128k": {},
        "ollama/qwen3.5:cloud": {},
        "ollama/qwen3.5:0.8b": {},  ← ADD THIS
        "ollama/qwen3.5:2b": {}     ← Optional
      }
    }
  }
}

Manual Fix Steps

  1. Edit config:

    nano ~/.openclaw/openclaw.json
    
  2. Add to agents.defaults.models:

    "ollama/qwen3.5:0.8b": {},
    
  3. Restart gateway:

    openclaw gateway restart
    
  4. Verify:

    openclaw cron runs --id <job-id> --limit 3
    

    Look for "model": "qwen3.5:0.8b" instead of qwen3.5:cloud

Automated Fix Script

Use the included script:

python3 ~/.npm-global/lib/node_modules/openclaw/skills/cron-model-fix/scripts/add-model-allowlist.py --model ollama/qwen3.5:0.8b

Expected Results

Before Fix

MetricValue
ModelCloud fallback
Duration60-180 seconds
Input Tokens200K-600K per run
CostCloud token burn

After Fix

MetricValueImprovement
ModelLocal (e.g., qwen3.5:0.8b)✅ Free
Duration1-13 seconds5-14x faster
Input Tokens5K-36K85-95% reduction
CostZERO100% savings

Validation

After applying fix, verify:

# Check for model rejection warnings
tail -50 /tmp/openclaw/openclaw-*.log | grep -i "not allowed"

# Should be EMPTY (no warnings)
# Check cron run history
openclaw cron runs --id <job-id> --limit 1

# Should show:
# "model": "qwen3.5:0.8b" (not cloud)
# "durationMs": <15000 (fast)
# "input_tokens": <50000 (low)

Common Issues

Issue: Model still not working after fix

Check:

  1. Gateway restarted after config change?
  2. Model format matches exactly? (e.g., ollama/qwen3.5:0.8b vs qwen3.5:0.8b)
  3. Model exists in provider config (Layer 1)?

Issue: Invalid JSON after editing

Fix:

openclaw doctor --fix

Or restore from backup:

cp ~/.openclaw/openclaw.json.backup ~/.openclaw/openclaw.json

Related Skills

  • inbox-optimizer - Optimizes inbox scanning patterns (mesh-specific)
  • healthcheck - General OpenClaw system health monitoring

References

  • See references/model-config-layers.md for detailed configuration structure
  • See references/troubleshooting-examples.md for real-world case studies

Version

1.0.0 - Initial release (2026-03-30)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

一步完成进化

Use when you need to stand up or standardize a fresh OpenClaw setup as the Fire Dragon Fruit Architecture: one strong main, one isolated rescue, layered file...

Registry SourceRecently Updated
2640Profile unavailable
Automation

Runtime Instructions Control Plane

Load per-job runtime instructions from Google Sheets, cache them locally, and reconcile cron job enablement flags safely for OpenClaw operations.

Registry SourceRecently Updated
810Profile unavailable
Automation

Linux Cron Panel

Linux 定时任务 Web 管理面板 - 通过 API 管理 Linux crontab,支持自动安装、任务创建、编辑、删除、立即执行和日志查看。当用户需要管理 Linux 定时任务、crontab、计划任务时使用本 skill。

Registry SourceRecently Updated
1051Profile unavailable
Automation

OpenClaw Auto‑Updater (Safe + Scheduled + Summary)

Schedule automatic OpenClaw and skill updates with reliable cron templates, timezone-safe scheduling, and clear summary outputs. Use for hands-off maintenance, scheduled upgrades, and concise update reports.

Registry Source
11.9K13Profile unavailable