Guide

Cancel a Calendar Event from the Terminal

Cancelling a meeting means two things: removing it from your calendar and telling the attendees. Doing that through each provider's web UI is slow, and through their APIs means OAuth and per-provider request shapes. The Nylas CLI cancels an event with one command — it deletes the event and the provider sends the cancellation notice to attendees. This guide shows how to find the event, cancel it, and confirm the attendees were notified, across five calendar providers.

Written by Prem Keshari Senior SRE

VerifiedCLI 3.1.16 · Gmail, Outlook · last tested June 8, 2026

Command references used in this guide: nylas calendar events list, nylas calendar events delete, and nylas calendar events show.

How do you cancel a calendar event from the terminal?

You cancel a calendar event by deleting it with nylas calendar events delete --id EVENT_ID --yes. The CLI removes the event from the connected calendar, and because the provider owns notifications, an event that has attendees triggers a cancellation message to each one. You don't send a separate “meeting cancelled” email — deleting the event is the cancellation.

First find the event ID, since every operation keys off it. nylas calendar events list --json returns upcoming events with their IDs, titles, and times, so you can pipe to jq or eyeball the right one. The whole flow — connect once with nylas auth login, list, delete — takes well under a minute and works the same on all five calendar backends.

# 1) Find the event ID
nylas calendar events list --json --limit 20

# 2) Cancel it (provider notifies attendees automatically)
nylas calendar events delete --id event_abc123 --yes

How are attendees notified of the cancellation?

Attendees are notified by the calendar provider, not by the CLI. When you delete an event that has participants, Google, Microsoft, or the CalDAV backend sends an iCalendar cancellation — a METHOD:CANCEL message defined in RFC 5546 (iTIP) — so each attendee's calendar removes the event. That's the same notice they'd get if you cancelled from the web UI.

Confirm the event is gone with another nylas calendar events list --json; if it no longer appears, the cancellation propagated. A solo event with no participants simply disappears with no message sent, because there's no one to notify. For a recurring series, deleting the master event cancels the whole series, so target a single instance ID if you only mean to drop one occurrence.

# Inspect before cancelling to see attendees on the event
nylas calendar events show --id event_abc123 --json | jq '.participants'

# Verify the cancellation propagated (event should be absent)
nylas calendar events list --json --limit 20 | jq '.[] | select(.id=="event_abc123")'

How do you cancel events in a script?

In a script, list events as JSON, select the ones to cancel with jq, and loop the delete. This is how you clear a test calendar, cancel everything tagged with a keyword, or wind down a room booking — one provider-neutral pipeline instead of five API integrations. Because the output is JSON, the selection logic is a one-line filter rather than HTML scraping.

Keep a guard on bulk cancellation: print the titles first, confirm the count, then delete. A loop that cancels 30 events without a dry run is one typo away from clearing a real calendar. The --yes flag skips the per-event prompt, so reserve it for runs you've already reviewed.

# Cancel every event whose title contains "Sync" (review first!)
nylas calendar events list --json --limit 100 \
  | jq -r '.[] | select(.title | test("Sync")) | .id' \
  | while read id; do
      nylas calendar events delete --id "$id" --yes
    done

Next steps