solution gateway high macos linux windows

Cron: isolated jobs fail with 'Field required' on tools.function

Work around isolated cron job failures that reject tool definitions with `Field required` on `tools.function` by temporarily switching the job to the main-session systemEvent path.

By CoClaw Team •

Symptoms

  • A cron job is configured with sessionTarget: "isolated".
  • The run fails before the agent turn really starts.
  • Logs or run details show validation errors like:
    • Field required
    • tools.function
  • This usually appears on jobs using payload.kind: "agentTurn".

Cause

This is usually a regression in the isolated cron session path, not a bad prompt.

Main-session cron jobs and isolated cron jobs do not go through exactly the same execution path:

  • sessionTarget: "main" uses a systemEvent payload routed through the main heartbeat/session flow.
  • sessionTarget: "isolated" uses a dedicated isolated agent-turn path.

In affected versions, the isolated path can reject tool definitions with a stricter or mismatched schema expectation, so the run fails on tools[*].function before normal execution begins.

Fix

1) Move the job to the main session temporarily

Edit the job so it runs on the main session instead of the isolated one:

openclaw cron edit <job-id> --session main --system-event "<your existing prompt text>"

If the job was previously created with --message, convert that message into the --system-event text you want the main agent to receive.

Why this helps: the main-session systemEvent path avoids the isolated tool-schema validation path that is currently failing.

2) If the job had announce delivery enabled, disable it while testing

openclaw cron edit <job-id> --no-deliver

Why this helps: announce delivery is only relevant to isolated-style output delivery. Turning it off removes one extra moving part while you verify the core cron run works again.

3) Run the job manually and inspect run history

openclaw cron run <job-id>
openclaw cron runs --id <job-id> --limit 20

If the job must remain isolated long-term, keep the old config notes somewhere safe and switch back only after the upstream fix lands.

Verify

  • openclaw cron run <job-id> completes without the tools.function validation error.
  • openclaw cron runs --id <job-id> --limit 20 shows a successful run.
  • The job now leaves evidence in the main session path (system event, output artifact, explicit message, or whatever your workflow expects).

If it still fails after switching to main + systemEvent, collect:

  • openclaw cron get <job-id> output,
  • the latest openclaw cron runs --id <job-id> --limit 20,
  • and the exact validation error text.

That usually means the problem is no longer isolated to the isolated-session path.

Verification & references

  • Reviewed by:CoClaw Code Team
  • Last reviewed:March 14, 2026
  • Verified on: macOS · Linux · Windows
Want to explore more? Browse all solutions or ask in the Community Forum .
Report a problem

Related Resources

Cron: jobs don't fire and nextRunAtMs silently advances
Fix
Fix cron jobs that skip runs (no execution/logs) while nextRunAtMs advances by checking scheduler evidence, updating through the current stable path, and verifying cron storage + timezone.
Windows: tools.exec cannot find docker, rg, or gh even though they work in PowerShell
Fix
Fix native Windows cases where the Scheduled Task gateway uses a different PATH than your interactive shell, so tools.exec cannot resolve installed CLI tools.
Cron: jobs run but Telegram announce delivery fails (no notification sent)
Fix
If isolated cron jobs execute successfully but the Telegram notification never arrives ("cron announce delivery failed"), disable announce and send via the message tool, or switch delivery mode while you capture gateway logs for the failing announce path.
OpenClaw only chats and won't use tools after update
Fix
Fix OpenClaw when it suddenly stops reading files, patching code, or running commands after a recent update. The most common cause is `tools.profile: messaging` or a narrower tool policy.
OpenClaw Not Using Tools After the Update? Fix the ‘Only Chats, Doesn’t Act’ Problem
Guide
A practical step-by-step guide to fix OpenClaw when it suddenly stops using tools after recent updates. Learn how to check `tools.profile`, restore coding tools safely, and verify the agent can act again.
Enable Tools and Plugins (Advanced)
Guide
Turn on optional plugins and explicitly allowlist tools so your agent can safely call them.