openclaw - 💡(How to fix) Fix Cron isolated main with Codex runtime exposes only message tool while manual main exposes bash

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

On OpenClaw 2026.5.22 (a374c3a), the same main agent/model configured with the Codex runtime gets different tool surfaces depending on the entrypoint:

  • Manual openclaw agent --agent main ... uses the Codex harness and exposes native shell (toolSummary.tools=["bash"]).
  • Scheduled cron jobs with sessionTarget="isolated", payload.kind="agentTurn", and agentId="main" compile a message-only tool set (toolCount=1, tool list only message).

The result is that cron jobs that previously ran shell/CLI work now answer as if no terminal/shell is available, even though shell is available on the host and works in a normal main agent turn.

Root Cause

Routing the affected scheduled jobs to an ACPX/Codex-backed dev agent restores shell execution. This is only a workaround because it changes the scheduled job agent identity/cwd and may require prompts to use absolute paths or explicit cd.

Fix Action

Workaround

Routing the affected scheduled jobs to an ACPX/Codex-backed dev agent restores shell execution. This is only a workaround because it changes the scheduled job agent identity/cwd and may require prompts to use absolute paths or explicit cd.

RAW_BUFFERClick to expand / collapse

Summary

On OpenClaw 2026.5.22 (a374c3a), the same main agent/model configured with the Codex runtime gets different tool surfaces depending on the entrypoint:

  • Manual openclaw agent --agent main ... uses the Codex harness and exposes native shell (toolSummary.tools=["bash"]).
  • Scheduled cron jobs with sessionTarget="isolated", payload.kind="agentTurn", and agentId="main" compile a message-only tool set (toolCount=1, tool list only message).

The result is that cron jobs that previously ran shell/CLI work now answer as if no terminal/shell is available, even though shell is available on the host and works in a normal main agent turn.

Environment

  • OpenClaw: 2026.5.22 (a374c3a)
  • Gateway: RPC OK
  • Model: openai/gpt-5.5 and openai/gpt-5.4
  • Model runtime config: agentRuntime.id = "codex"
  • Plugins loaded: codex, acpx

Reproduction shape

  1. Configure openai/gpt-5.5 with agentRuntime.id="codex".
  2. Run a manual turn with openclaw agent --agent main --message "run pwd" --json.
  3. Observe the manual turn uses provider=openai-codex, agentHarnessId=codex, runner=embedded, and has bash available.
  4. Create or run a cron job with:
    • agentId="main"
    • sessionTarget="isolated"
    • payload.kind="agentTurn"
    • prompt asks to run a local read-only command
  5. Observe the cron trajectory/tool context only includes message; the agent reports no terminal/shell/CLI is available.

Expected

The isolated cron run should get the same Codex runtime native shell/tool surface that a manual main Codex turn receives, subject to the same configured policy.

Actual

The cron-isolated main turn receives only the message tool. Shell-dependent scheduled jobs complete with operational block messages instead of executing the requested command.

Workaround

Routing the affected scheduled jobs to an ACPX/Codex-backed dev agent restores shell execution. This is only a workaround because it changes the scheduled job agent identity/cwd and may require prompts to use absolute paths or explicit cd.

Related symptoms

This looks related to the recent cron/tool-policy/harness changes around isolated cron lanes, configured tool visibility, sender-owner gating, and Codex runtime selection, but it is narrower than timeout-only issues: the cron run starts and finishes, it just has the wrong tool surface.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

openclaw - 💡(How to fix) Fix Cron isolated main with Codex runtime exposes only message tool while manual main exposes bash