Cron Model Fix

v1.0.0

Diagnose and fix OpenClaw cron job model override issues. Use when cron jobs show "not allowed, falling back to agent defaults" in logs, experience unexpecte...

0· 96·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for mklue/cron-model-fix.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Cron Model Fix" (mklue/cron-model-fix) from ClawHub.
Skill page: https://clawhub.ai/mklue/cron-model-fix
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install cron-model-fix

ClawHub CLI

Package manager switcher

npx clawhub@latest install cron-model-fix
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (fixing agent model allowlist for cron jobs) match the provided instructions and the included script. No unrelated credentials, binaries, or services are requested.
Instruction Scope
SKILL.md only instructs checking logs, inspecting/editing ~/.openclaw/openclaw.json, running openclaw CLI commands, and optionally running the included add-model-allowlist.py script. These actions are directly related to the stated task and do not collect or transmit unrelated data.
Install Mechanism
No install spec is present (instruction-only with a helper script). There are no downloads from external URLs or unusual install locations. The included script is a simple local Python utility.
Credentials
The skill requires no environment variables or external credentials. The script operates only on the user's ~/.openclaw/openclaw.json (config file) and creates a local backup; this is proportionate to the task.
Persistence & Privilege
The skill does not request persistent or elevated platform privileges (always is false). It modifies only the OpenClaw config file under the user's home and instructs the user to restart the gateway—behavior consistent with its stated purpose.
Assessment
This skill appears to do exactly what it says: check logs and add a model entry to your ~/.openclaw/openclaw.json allowlist. Before running it: (1) inspect the SKILL.md and the add-model-allowlist.py script to confirm it will modify only ~/.openclaw/openclaw.json, (2) run the script with --dry-run or --backup to preserve your config, (3) ensure you trust the openclaw CLI on your system (the skill calls openclaw gateway/cron commands), and (4) validate the config and restart the gateway only after confirming the JSON is correct.

Like a lobster shell, security has layers — review code before you run it.

cronvk97fjp4b57q4t8r72x8xp3xqen83wqqjlatestvk97fjp4b57q4t8r72x8xp3xqen83wqqjmodel-configvk97fjp4b57q4t8r72x8xp3xqen83wqqjopenclawvk97fjp4b57q4t8r72x8xp3xqen83wqqjperformancevk97fjp4b57q4t8r72x8xp3xqen83wqqjtroubleshootingvk97fjp4b57q4t8r72x8xp3xqen83wqqj
96downloads
0stars
1versions
Updated 4w ago
v1.0.0
MIT-0

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)

Comments

Loading comments...