Band Band

Cronjobs Window

The Cronjobs window lets you create and manage scheduled coding agent tasks. Instead of manually submitting tasks, you can define recurring jobs that run on a cron schedule — perfect for routine maintenance, regular checks, or periodic code generation.

Opening the Cronjobs Window

The Cronjobs window is accessed from the Band desktop app's menu. Like the Tasks window, it opens as a separate 900x700 pixel native window. If already open, focusing it simply brings it to the front.

Cronjob List

The main area displays all cronjobs as cards. Each card shows:

  • Name — A descriptive name for the job (e.g., "Daily dependency check").
  • Scope badge — Either "project" or "workspace" indicating the scope of the job.
  • Prompt — The agent prompt that will be submitted when the job runs.
  • Cron expression — The schedule displayed in standard cron format (e.g., 0 */6 * * *).
  • Target — The project or workspace this job runs against.
  • Last run info — When the job last ran and its result (Completed, Failed, or Skipped).
  • Enable/disable toggle — A switch to enable or disable the job without deleting it.

Disabled jobs appear dimmed and will not execute on schedule, but they retain their configuration for when you re-enable them.

Creating a Cronjob

Click New Cronjob to open the creation dialog. Fill in the following fields:

  • Name — A human-readable name for the job.
  • Prompt — The instruction to send to the coding agent when the job triggers.
  • Cron expression — A standard five-field cron expression defining when the job should run.
  • Scope — Choose between project-scoped or workspace-scoped (see below).
  • Project — Select the target project.
  • Workspace (workspace scope only) — Select the specific workspace branch.
  • Enabled — Toggle whether the job starts in an enabled state.

Cron Expression Format

Cron expressions use the standard five-field format:

minute  hour  day-of-month  month  day-of-week
  0      */6       *           *        *       # Every 6 hours
  30      9        *           *       1-5      # 9:30 AM on weekdays
  0       0        1           *        *       # Midnight on the 1st of each month

Project-Scoped vs Workspace-Scoped

Cronjobs can be scoped to two levels:

  • Project scope — The job runs against the project's main branch. Useful for tasks like dependency updates, security scans, or code quality checks that should run on the primary codebase.
  • Workspace scope — The job runs against a specific workspace branch. Useful for branch-specific tasks like running tests, checking for merge conflicts with main, or periodic progress reports on a feature branch.

Editing Cronjobs

Click the Edit button on any cronjob card to modify its name, prompt, cron expression, or enabled state. The scope and target cannot be changed after creation — delete the job and create a new one if you need to change those.

Manual Triggering

Every cronjob card has a Run Now button that triggers the job immediately, regardless of its schedule. This is useful for testing a new cronjob's prompt or running a job ahead of schedule. The manual run updates the "last run" timestamp and status.

Filtering

Use the project filter dropdown at the top of the window to show cronjobs for a specific project. The refresh button reloads the list manually, though it also auto-refreshes every 5 seconds.

Deleting Cronjobs

Click the Delete button on a cronjob card to permanently remove it. When a workspace or project is removed from Band, its associated cronjobs are automatically cleaned up.

Run History

Each cronjob tracks its last execution with two fields:

  • Last run time — Displayed as a relative timestamp (e.g., "2h ago").
  • Last run status — One of Completed (green), Failed (red), or Skipped (yellow). A job is skipped if the target workspace already has a running task when the cron fires.