openclaw - 💡(How to fix) Fix Feature request: per-agent default cron delivery accountId in config

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…

Root Cause

  • In multi-agent deployments, each agent has its own channel account (e.g., separate Telegram bots, Teams accounts)
  • Agents that self-schedule cron jobs during runs should route notifications through their own account by default
  • Without config-level enforcement, this relies on agents reading and retaining instructions from AGENTS.md — which can be truncated in long sessions, causing silent regressions
  • A sensible default would be: if an agent creates a cron job, inherit that agent's accountId on the delivery block automatically

Fix Action

Workaround

Currently the only workaround is to include the rule in the agent's AGENTS.md and hope context isn't truncated. This is fragile.

Code Example

{
  agents: {
    list: [
      {
        id: "recon",
        cron: {
          defaultDelivery: {
            accountId: "recon"
          }
        }
      }
    ]
  }
}

---

{
  agents: {
    defaults: {
      cron: {
        defaultDelivery: {
          accountId: "<inherit-agent-id>"  // special value to auto-use agent's own account
        }
      }
    }
  }
}
RAW_BUFFERClick to expand / collapse

Problem

When an agent dynamically creates a cron job at runtime (e.g., a background check-in or pipeline monitor job), the delivery.accountId field defaults to "default" unless explicitly set. This causes notifications to route through the default agent's channel (typically the main Orchestrator account) instead of the creating agent's own account/channel.

This is a persistent operational issue in multi-agent setups. AGENTS.md rules can mitigate it, but AGENTS.md context can be truncated in long sessions, making this an unreliable enforcement point.

Expected behavior

A config-level setting that specifies the default accountId for any cron job created by a given agent. For example:

{
  agents: {
    list: [
      {
        id: "recon",
        cron: {
          defaultDelivery: {
            accountId: "recon"
          }
        }
      }
    ]
  }
}

Or at the global default level:

{
  agents: {
    defaults: {
      cron: {
        defaultDelivery: {
          accountId: "<inherit-agent-id>"  // special value to auto-use agent's own account
        }
      }
    }
  }
}

Why this matters

  • In multi-agent deployments, each agent has its own channel account (e.g., separate Telegram bots, Teams accounts)
  • Agents that self-schedule cron jobs during runs should route notifications through their own account by default
  • Without config-level enforcement, this relies on agents reading and retaining instructions from AGENTS.md — which can be truncated in long sessions, causing silent regressions
  • A sensible default would be: if an agent creates a cron job, inherit that agent's accountId on the delivery block automatically

Workaround

Currently the only workaround is to include the rule in the agent's AGENTS.md and hope context isn't truncated. This is fragile.

Environment

  • OpenClaw 2026.5.26 (10ad3aa)
  • Multi-agent setup with 15+ agents across Telegram, Teams, and other channels

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…

FAQ

Expected behavior

A config-level setting that specifies the default accountId for any cron job created by a given agent. For example:

{
  agents: {
    list: [
      {
        id: "recon",
        cron: {
          defaultDelivery: {
            accountId: "recon"
          }
        }
      }
    ]
  }
}

Or at the global default level:

{
  agents: {
    defaults: {
      cron: {
        defaultDelivery: {
          accountId: "<inherit-agent-id>"  // special value to auto-use agent's own account
        }
      }
    }
  }
}

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 Feature request: per-agent default cron delivery accountId in config