# schedule_self

Schedule a CONTINUATION of your own work to run later — the way to handle recurring or deferred tasks instead of looping in-process or busy-waiting. Pick exactly one cadence: when (one-shot RFC3339 UTC), interval_minutes (every N minutes), or cron (5-field expr; supports */N steps and @daily/@hourly macros). The next run starts as a FRESH process (no memory of this turn) so put everything it needs into prompt and memo. memo is carried verbatim into the next run's prompt. runner defaults to this agent's default; pass it to pin claude/codex/opencode/glm. Recurring schedules without max_runs are capped at 100 fires.

Agent View of the PolicyLayer registry record for `schedule_self`. HTML page: https://policylayer.com/tools/io-github-kivanccakmak-yaver/schedule-self

## Facts

- Tool: `schedule_self`
- Server: Yaver (`yaver-cli`) — https://policylayer.com/tools/io-github-kivanccakmak-yaver.md
- Install: `npx -y yaver-cli`
- Homepage: https://github.com/kivanccakmak/yaver.io
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 10 (1 required)
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `cron` | string | no | 5-field cron expression (minute hour day month weekday), e.g. '*/30 * * * *' or '@daily'. Use this OR when OR interval_minutes. |
| `memo` | string | no | Optional notes carried verbatim into the next run's prompt (state, findings, where you left off). |
| `when` | string | no | One-shot run time, RFC3339 UTC (e.g. 2026-06-17T09:00:00Z). Use this OR interval_minutes OR cron. |
| `model` | string | no | Optional model override for the next run. |
| `title` | string | no | Optional label. Defaults to a truncation of prompt. |
| `prompt` | string | yes | The instruction the next run executes. Self-contained — the next process has no memory of the current turn. |
| `resume` | boolean | no | Recurring only: natively resume the previous run's session each fire (claude/glm/codex by session id, opencode by --continue) instead of starting cold. Default |
| `runner` | string | no | Runner for the next run: claude \| codex \| opencode \| glm. Defaults to this agent's default runner. |
| `max_runs` | integer | no | Stop after this many fires (0 = use the 100-fire safety cap for recurring; one-shot ignores this). |
| `interval_minutes` | integer | no | Repeat every N minutes (minimum 1). Use this OR when OR cron. |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "schedule_self",
    "arguments": {
      "prompt": "<prompt>"
    }
  }
}
```

## Why schedule_self is rated High

This tool schedules future execution of agent processes — potentially recurring indefinitely via cron or interval. It triggers external operations (fresh process launches) whose effects depend on the prompt/memo arguments passed. An AI agent misusing this tool could create runaway recurring tasks, spawn unintended processes, or cause cascading downstream actions, making it high severity in the Execute category.

From the tool's own definition: "'Schedule a CONTINUATION of your own work to run later', 'next run starts as a FRESH process', supports 'interval_minutes' (every N minutes) or 'cron' (5-field expr)'"

Risk signals: High parameter count (10 properties) · Bulk/mass operation — affects multiple targets

## Use case

AI agents invoke schedule_self to trigger actions in Yaver. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Yaver:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "schedule_self": {
      "limits": [
        {
          "counter": "schedule_self_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Yaver (644)

- `acl_remove_peer` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/acl-remove-peer.md
- `cancel_schedule` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/cancel-schedule.md
- `cloud_destroy` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/cloud-destroy.md
- `companion_down` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/companion-down.md
- `data_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/data-delete.md
- `db_push` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/db-push.md
- `db_reset` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/db-reset.md
- `db_restore` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/db-restore.md
- `dns_flush` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/dns-flush.md
- `dns_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/dns-remove.md
- `docker_prune` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/docker-prune.md
- `docker_rm` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/docker-rm.md
- `docker_rmi` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/docker-rmi.md
- `feedback_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/feedback-delete.md
- `forgot_password` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/forgot-password.md
- `git_member_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/git-member-remove.md
- `git_stash` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/git-stash.md
- `guest_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/guest-delete.md
- `guest_revoke` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/guest-revoke.md
- `jobs_cancel` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/jobs-cancel.md
- `machine_onboarding_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/machine-onboarding-remove.md
- `machine_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/machine-remove.md
- `migrate_rollback` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/migrate-rollback.md
- `models_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/models-remove.md
- `monitor_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/monitor-remove.md
- `phone_project_delete` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/phone-project-delete.md
- `proxy_remove` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/proxy-remove.md
- `relay_clear_password` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/relay-clear-password.md
- `release_rollback` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/release-rollback.md
- `remote_destroy` — Destructive — https://policylayer.com/tools/io-github-kivanccakmak-yaver/remote-destroy.md
- …and 614 more: https://policylayer.com/tools/io-github-kivanccakmak-yaver.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=io-github-kivanccakmak-yaver · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-kivanccakmak-yaver
