update-timer

Update a timer's message, lifecycle status, or complete schedule.

Scope and access

  • User-scoped timers are private to the authenticated user.
  • Team-scoped timers can only be listed or managed by a team owner.
  • Repo-scoped timers can be listed and fetched by users with repo read access; creating, updating, or deleting one requires maintainer access.
  • A timer UUID is only reachable through its owning user, team, or repo scope.

Usage

pearing-cli update-timer <timer-uuid> [<message>] [--status <status>] [schedule flags] [--team <slug> | --repo <locator>]

Omitted values are preserved. Allowed statuses are active, paused, and cancelled.

Schedule fields

JSON / MCP CLI Behavior
run_in --run-in Fire once after a duration such as 5m or 2h.
run_at --run-at Fire once at a future RFC 3339 instant.
every_seconds --every-seconds Repeat on a fixed interval of at least one second.
time_of_day --time-of-day Repeat at a local HH:MM time.
days_of_week --days-of-week Required with time_of_day. Use all for every day, or provide a non-empty selection of three-letter names: Sun, Mon, Tue, Wed, Thu, Fri, Sat.
timezone --timezone IANA timezone for time_of_day; defaults to UTC.

Omit all schedule fields to preserve the current schedule. When replacing it, provide exactly one of run_in, run_at, every_seconds, or time_of_day. API and MCP callers may omit schedule_kind and let the server infer once or interval; the CLI always infers it from the schedule flag.

Examples

pearing-cli update-timer 8f7a2ba9-8a67-4a56-a8e8-0fe9f26717f6 "Review the updated checklist"

pearing-cli update-timer 8f7a2ba9-8a67-4a56-a8e8-0fe9f26717f6 --status paused

pearing-cli update-timer 8f7a2ba9-8a67-4a56-a8e8-0fe9f26717f6 \
  --run-in 2h \
  --status active \
  --repo teams/platform/website

Supplying any schedule flag replaces the whole schedule. Reactivating a completed or cancelled timer requires a new schedule.

Response

Prints the updated timer JSON.

Help Output

Update a timer.

Schedule flags replace the whole schedule, because the one-off and
repeating shapes are mutually exclusive.

Examples:

  update-timer abc-123 "new message"
  update-timer abc-123 --status paused
  echo "piped" | update-timer abc-123 -

Usage: pearing-cli update-timer [OPTIONS] <TIMER_UUID> [MESSAGE]

Arguments:
  <TIMER_UUID>
          Timer uuid

  [MESSAGE]
          New message. Pass '-' to read from stdin

Options:
      --team <TEAM>
          Address a team's timers. Requires team ownership

      --repo <REPO>
          Address a repo's timers. Read access is enough to list or fetch; create, update, and delete require maintainer access

      --status <STATUS>
          New status: active, paused, or cancelled

      --run-in <RUN_IN>
          Fire once after this duration, for example 5m or 2h

      --run-at <RUN_AT>
          Fire once at this RFC 3339 instant

      --every-seconds <EVERY_SECONDS>
          Repeat on a fixed period in seconds

      --time-of-day <TIME_OF_DAY>
          Repeat at this local time of day, as HH:MM. Requires --days-of-week

      --days-of-week <DAYS_OF_WEEK>
          Days to repeat on: Sun, Mon, Tue, Wed, Thu, Fri, Sat, or all

      --timezone <TIMEZONE>
          IANA timezone the time of day is evaluated in. Defaults to UTC

  -h, --help
          Print help (see a summary with '-h')