khal

terminal calendar application

TLDR

Show calendar
$ khal
List events
$ khal list
Add event (START END SUMMARY)
$ khal new [2024-01-15] [10:00] [11:00] [Meeting]
Add event interactively
$ khal new -i
Search events
$ khal search [keyword]
Interactive TUI
$ khal interactive
Import ICS file
$ khal import [event.ics]
Show events for a date range
$ khal list [2024-01-15] [7d]

SYNOPSIS

khal [options] command

DESCRIPTION

khal is a terminal calendar application. It reads and writes CalDAV calendars through vdirsyncer.The tool provides both command-line and interactive interfaces. It supports multiple calendars and recurring events.

PARAMETERS

list [START] [END|DELTA]

List events for a date range.
at DATETIME
Show events at a specific datetime.
calendar [START] [END]
Display a calendar (cal-like) view with events.
new START [END|DELTA] [TIMEZONE] SUMMARY [:: DESCRIPTION]
Create a new event. Use -i for interactive entry.
search STRING
Search events matching the given string.
edit STRING
Interactively edit or delete matching events.
import FILE
Import an ICS file.
printcalendars
List configured calendars.
printformats
Display date/time format samples.
configure
Run the initial configuration wizard.
-a CALENDAR / -d CALENDAR
Include (-a) or exclude (-d) a calendar.
--help
Display help information.

INSTALL

sudo dnf install khal
sudo pacman -S khal
sudo apk add khal
brew install khal
nix profile install nixpkgs#khal

CAVEATS

Requires vdirsyncer for sync. Python-based. Configuration file needed.

HISTORY

khal was created as a terminal-based calendar client compatible with CalDAV through the vdirsyncer ecosystem.

SEE ALSO

vdirsyncer(1), todoman(1), calcurse(1)