> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/warpdotdev/warp/llms.txt
> Use this file to discover all available pages before exploring further.

# oz schedule — schedule agents on a cron

> Create, list, update, pause, and delete scheduled Oz agents. Use standard 5-field cron syntax to run an agent automatically at any interval or time.

Scheduled agents run a cloud agent automatically on a cron schedule — for example, every night, every Monday morning, or every hour. The `oz schedule` command lets you create and manage these schedules. As a shorthand, running `oz schedule` without a subcommand is equivalent to `oz schedule create`.

## Synopsis

```bash theme={null}
oz schedule [subcommand] [flags]
```

Running `oz schedule` without a subcommand acts as a shorthand for `oz schedule create` — it accepts all the same flags as `create`.

## Subcommands

| Subcommand              | Description                           |
| ----------------------- | ------------------------------------- |
| `create`                | Create a new scheduled agent          |
| `list`                  | List all scheduled agents             |
| `get <schedule_id>`     | Get a scheduled agent's configuration |
| `update <schedule_id>`  | Update a scheduled agent              |
| `pause <schedule_id>`   | Pause a scheduled agent               |
| `unpause <schedule_id>` | Resume a paused scheduled agent       |
| `delete <schedule_id>`  | Delete a scheduled agent              |

***

## oz schedule create

Creates a new scheduled agent. You must supply `--name`, `--cron`, and either `--prompt` or `--skill`.

```bash theme={null}
oz schedule create --name <name> --cron <expr> --prompt <text> [flags]
```

**Shorthand:** `oz schedule --name <name> --cron <expr> --prompt <text>`

### Flags

<ParamField path="--name" type="string" required>
  Name of the scheduled agent.
</ParamField>

<ParamField path="--cron" type="string" required>
  Cron schedule expression that controls when the agent runs. Uses standard 5-field cron syntax: `minute hour day-of-month month day-of-week`.
</ParamField>

<ParamField path="--prompt" type="string">
  Prompt describing what the scheduled agent should do. Mutually exclusive with `--skill` when used alone (both can be combined).

  Short form: `-p`
</ParamField>

<ParamField path="--skill" type="string">
  Skill to automate on a schedule. Format: `repo:skill_name` or `org/repo:skill_name`. The skill is resolved at runtime in the agent's cloud environment. Can be combined with `--prompt` so the skill provides the base context and the prompt adds a specific task.
</ParamField>

<ParamField path="--model" type="string">
  Override the base model used for runs of this schedule.
</ParamField>

<ParamField path="--environment" type="string">
  Cloud environment to run the scheduled agent in, identified by environment ID.

  Short form: `-e`
</ParamField>

<ParamField path="--no-environment" type="boolean">
  Run the scheduled agent without a cloud environment.
</ParamField>

<ParamField path="--mcp" type="string">
  MCP server to configure for this schedule. Accepts a path to a JSON config file or inline JSON. Repeatable.
</ParamField>

<ParamField path="--host" type="string">
  Where the job should be hosted. Set to `warp` (or omit) to run on Warp's infrastructure. Any other value is matched against a self-hosted worker name.
</ParamField>

### Cron syntax reference

| Expression    | Meaning                                |
| ------------- | -------------------------------------- |
| `0 9 * * 1`   | Every Monday at 9:00 AM UTC            |
| `0 0 * * *`   | Every day at midnight UTC              |
| `0 */6 * * *` | Every 6 hours                          |
| `30 8 1 * *`  | At 8:30 AM on the first of every month |
| `0 9 * * 1-5` | Weekdays at 9:00 AM UTC                |

<Note>
  Cron times are interpreted in UTC. Adjust the expression if you need runs at a specific local time.
</Note>

### Examples

```bash theme={null}
# Run a triage agent every weekday morning
oz schedule create \
  --name "daily-issue-triage" \
  --cron "0 9 * * 1-5" \
  --prompt "Triage and label all new GitHub issues opened in the last 24 hours" \
  --environment env_abc123

# Run a skill on a weekly schedule
oz schedule create \
  --name "weekly-dependency-update" \
  --cron "0 10 * * 1" \
  --skill owner/my-repo:dependency-update \
  --environment env_abc123

# Shorthand: oz schedule behaves like oz schedule create
oz schedule \
  --name "nightly-test-run" \
  --cron "0 2 * * *" \
  --prompt "Run the full test suite and open a PR if any tests are failing" \
  --environment env_abc123
```

***

## oz schedule list

Lists all scheduled agents configured in your account.

```bash theme={null}
oz schedule list
```

### Examples

```bash theme={null}
oz schedule list
oz schedule list --output-format json
```

***

## oz schedule get

Retrieves the configuration for a specific scheduled agent.

```bash theme={null}
oz schedule get <schedule_id>
```

### Arguments

| Argument      | Description                    |
| ------------- | ------------------------------ |
| `schedule_id` | ID of the schedule to retrieve |

### Examples

```bash theme={null}
oz schedule get sched_abc123
```

***

## oz schedule update

Updates a scheduled agent. Only the fields you specify are changed.

```bash theme={null}
oz schedule update <schedule_id> [flags]
```

### Arguments

| Argument      | Description                  |
| ------------- | ---------------------------- |
| `schedule_id` | ID of the schedule to update |

### Flags

<ParamField path="--name" type="string">
  New name for the scheduled agent.
</ParamField>

<ParamField path="--cron" type="string">
  New cron expression.
</ParamField>

<ParamField path="--prompt" type="string">
  New prompt for the scheduled agent.

  Short form: `-p`
</ParamField>

<ParamField path="--skill" type="string">
  New or updated skill specification. Cannot be combined with `--remove-skill`.
</ParamField>

<ParamField path="--remove-skill" type="boolean">
  Remove the skill from this scheduled agent. Cannot be combined with `--skill`.
</ParamField>

<ParamField path="--model" type="string">
  Override the base model.
</ParamField>

<ParamField path="--environment" type="string">
  New environment ID.

  Short form: `-e`
</ParamField>

<ParamField path="--remove-environment" type="boolean">
  Remove the environment from this scheduled agent.
</ParamField>

<ParamField path="--mcp" type="string">
  MCP server to add. Repeatable.
</ParamField>

<ParamField path="--remove-mcp" type="string">
  Remove an MCP server by its server name. Repeatable.
</ParamField>

<ParamField path="--host" type="string">
  Update the hosting target.
</ParamField>

### Examples

```bash theme={null}
# Change the cron schedule
oz schedule update sched_abc123 --cron "0 10 * * 1-5"

# Update the prompt
oz schedule update sched_abc123 \
  --prompt "Triage issues and also check for stale PRs"

# Swap out the model
oz schedule update sched_abc123 --model claude-opus-4

# Remove the skill and add a plain prompt instead
oz schedule update sched_abc123 \
  --remove-skill \
  --prompt "Run the full test suite"
```

***

## oz schedule pause

Pauses a scheduled agent. A paused agent still exists but will not run according to its schedule until you unpause it.

```bash theme={null}
oz schedule pause <schedule_id>
```

### Examples

```bash theme={null}
oz schedule pause sched_abc123
```

***

## oz schedule unpause

Resumes a paused scheduled agent. The agent will resume running on its previously configured schedule.

```bash theme={null}
oz schedule unpause <schedule_id>
```

**Alias:** `oz schedule resume`

### Examples

```bash theme={null}
oz schedule unpause sched_abc123
oz schedule resume sched_abc123
```

***

## oz schedule delete

Permanently deletes a scheduled agent.

```bash theme={null}
oz schedule delete <schedule_id>
```

### Examples

```bash theme={null}
oz schedule delete sched_abc123
```
