Guide
Manage Yahoo Calendar from the CLI
Yahoo Calendar has no public API. CalDAV access requires app passwords and manual server URLs. Nylas CLI gives you calendar CRUD for Yahoo through one interface — the same commands that work with Gmail, Outlook, Exchange, iCloud, and IMAP.
By Aaron de Mello
Yahoo Calendar has no API
Google has the Calendar API. Microsoft has Graph. Yahoo has nothing. Your only option is CalDAV, which means generating app-specific passwords in Yahoo Account Security, finding the correct CalDAV server URL, and configuring a CalDAV client library. Most developers give up before the first event syncs.
Nylas CLI connects to Yahoo Calendar through the Nylas platform. You authenticate once with OAuth, and every calendar command works the same way it does for Google or Outlook.
1. Install Nylas CLI
# macOS / Linux
brew install nylas/nylas-cli/nylas
# Or use the install script
curl -fsSL https://cli.nylas.com/install.sh | bash
# Windows (PowerShell)
irm https://cli.nylas.com/install.ps1 | iex2. Authenticate your Yahoo account
Run nylas auth login and select Yahoo when prompted. The CLI opens a browser window for Yahoo OAuth. No app passwords, no CalDAV server URLs.
nylas auth login
# Select "Yahoo" from the provider list
# Complete OAuth in the browser
# Done — your Yahoo Calendar is connectedVerify the connection by listing your calendars:
nylas calendar list3. List Yahoo Calendar events
# Next 7 days (default)
nylas calendar events list
# Next 30 days
nylas calendar events list --days 30
# JSON output for scripting
nylas calendar events list --json
# Filter by calendar
nylas calendar events list --calendar-id cal_abc123Example output
$ nylas calendar events list --days 7
Team Standup
When: Mon, Mar 30, 2026, 9:00 AM - 9:30 AM
Location: Zoom
Guests: 4 participant(s)
ID: event_y7k2m
Dentist Appointment
When: Wed, Apr 1, 2026, 2:00 PM - 3:00 PM
ID: event_p3x8n
Found 5 event(s)4. Create events
# Basic event
nylas calendar events create \
--title "Sprint Planning" \
--start "2026-04-01 10:00" \
--end "2026-04-01 11:00"
# With location and participants
nylas calendar events create \
--title "Product Review" \
--start "2026-04-02 14:00" \
--end "2026-04-02 15:00" \
--location "Conference Room B" \
--participant alice@company.com \
--participant bob@company.com
# All-day event
nylas calendar events create \
--title "Company Holiday" \
--start "2026-04-10" \
--all-day5. Update and delete events
# Update an event title and time
nylas calendar events update event_y7k2m \
--title "Team Standup (moved)" \
--start "2026-03-30 10:00" \
--end "2026-03-30 10:30"
# Delete an event
nylas calendar events delete event_p3x8n6. Check availability and find time
Check your free/busy slots or find mutual openings across multiple participants:
# Check your own availability
nylas calendar availability check
# Find a time that works for everyone
nylas calendar find-time \
--participants alice@company.com,bob@company.com \
--duration 30m
# Check availability for a specific day
nylas calendar availability check --date 2026-04-057. JSON output for scripting
Every calendar command supports --json for machine-readable output. Pipe it into jq for filtering:
# Get all events as JSON
nylas calendar events list --json
# Extract just titles and times with jq
nylas calendar events list --json | jq '.[] | {title: .title, start: .when.start_time}'
# Count events per day
nylas calendar events list --days 14 --json | jq 'group_by(.when.start_time[:10]) | map({date: .[0].when.start_time[:10], count: length})'
# Export to CSV
nylas calendar events list --json | jq -r '.[] | [.title, .when.start_time, .when.end_time] | @csv' > events.csv8. Yahoo Calendar access: Nylas CLI vs CalDAV
| Feature | Nylas CLI | CalDAV (direct) |
|---|---|---|
| Authentication | OAuth (browser-based, automatic) | App-specific password (manual) |
| Setup time | Under 2 minutes | 15-30 minutes |
| Server URL config | Not needed | Manual (caldav.calendar.yahoo.com) |
| List events | One command | REPORT request with XML body |
| Create events | One command with flags | PUT request with iCalendar payload |
| Availability check | Built-in | Not supported |
| Find mutual time | Built-in (cross-provider) | Not supported |
| JSON output | Native | Parse iCalendar yourself |
| Cross-provider | Same commands for all providers | Yahoo only |
9. Yahoo-specific notes
Yahoo Calendar mobile sync
Events created through Nylas CLI appear on Yahoo Calendar's mobile app within minutes. Yahoo uses push sync for its own apps, so changes propagate faster than CalDAV polling intervals (which default to 15-minute cycles on most clients).
Yahoo Groups events
If you belong to Yahoo Groups that create calendar events, those events show up when you run nylas calendar events list. You can read and export them. Editing group events depends on the group's permission settings. Events you didn't create may be read-only.
Recurring events
Yahoo Calendar supports recurring events through the iCalendar RRULE spec. When you list events with Nylas CLI, each occurrence appears as a separate entry. To modify a single occurrence without changing the series, use the specific event ID for that instance.
Timezone handling
Yahoo Calendar stores events in the timezone you specify at creation time. If you don't specify one, Nylas CLI uses your system timezone. According to the IANA Time Zone Database, Yahoo supports all standard timezone identifiers. Use --timezone to override:
nylas calendar events create \
--title "Cross-timezone sync" \
--start "2026-04-05 09:00" \
--end "2026-04-05 09:30" \
--timezone America/New_YorkNext steps
- Manage calendar from the terminal -- full calendar guide with DST detection, working hours, and AI scheduling
- List Yahoo Mail from terminal -- read and search Yahoo Mail with the same CLI
- Send email from the command line -- send through Yahoo or any other provider
- Give AI agents email and calendar access via MCP -- let Claude or Cursor manage your Yahoo Calendar
- Full command reference -- every calendar flag and subcommand