Manage Calendar
Access calendar data via khal (CLI tool) to view and manage events.
Process
- Check what you need - List events, create, update, search, or delete
- Execute khal command - Use appropriate khal subcommand
- Verify result - Confirm the operation completed successfully
- Handle errors - Check for configuration or permission issues
Common Commands
# List upcoming events (today through next week)
khal list
# List events for specific date range
khal list today 7d
khal list tomorrow
khal list 2026-02-01 2026-02-07
# List with JSON output for parsing
khal list --json summary,start,end,location today 30d
# Show events at specific datetime (defaults to now)
khal at
khal at tomorrow 3pm
# Search for events
khal search "meeting"
khal search "dentist"
# Create a new event
khal new tomorrow 10am 11am "Team meeting"
khal new 2026-02-01 14:00 15:30 "Coffee with Alice" :: "Discussing the project"
# Create event with location
khal new --location "Conference Room A" tomorrow 2pm 3pm "Budget review"
# Create repeating event
khal new --repeat weekly --until 2026-03-31 "Monday standup" monday 9am 30min
# Print all calendars
khal printcalendars
# DO NOT USE: Interactive edit/delete (requires event search)
khal edit "meeting"
Notes
- khal reads from ~/.config/khal/config by default
- All times are in the user’s local timezone (America/New_York for Ben)
- When creating events, be specific about times to avoid ambiguity
- Use
--jsonflag when you need to parse output programmatically - DO NOT use
khal editwhich opens an interactive interface - Read the BenSimaShared calendar, only include other calendars if asked to do so