
khal
CLIStandards-based command-line calendar that syncs iCloud and other CalDAV calendars via vdirsyncer, so agents can query your schedule and quickly add events; also has an interactive UI. Setting up vdirsyncer takes some technical effort; no Windows support.
khal
.. image:: https://github.com/pimutils/khal/actions/workflows/ci.yml/badge.svg?branch=master&event=push :target: https://github.com/pimutils/khal/actions/workflows/ci.yml
.. image:: https://codecov.io/github/pimutils/khal/coverage.svg?branch=master :target: https://codecov.io/github/pimutils/khal?branch=master
.. image:: https://readthedocs.org/projects/khal/badge/?version=latest&style=flat :target: https://khal.readthedocs.io/en/latest/
Khal is a standards based CLI and terminal calendar program, able to synchronize with CalDAV_ servers through vdirsyncer_.
.. image:: https://lostpackets.de/images/khal.png
Features
(or rather: limitations)
- khal can read and write events/icalendars to vdir_, so vdirsyncer_ can be
used to
synchronize calendars with a variety of other programs__, for example CalDAV_ servers. - fast and easy way to add new events
- ikhal (interactive khal) lets you browse and edit calendars and events
- no support for editing the timezones of events yet
- works with python 3.10+
- khal should run on all major operating systems [1]_
.. [1] except for Microsoft Windows
Feedback
Please do provide feedback if khal works for you or even more importantly if it doesn't. The preferred way to get in contact (especially if something isn't working) is via github or via IRC (#pimutils on Libera.Chat).
.. _vdir: https://vdirsyncer.readthedocs.org/en/stable/vdir.html .. _vdirsyncer: https://github.com/pimutils/vdirsyncer .. _CalDAV: https://en.wikipedia.org/wiki/CalDAV .. _github: https://github.com/pimutils/khal/ .. __: https://en.wikipedia.org/wiki/Comparison_of_CalDAV_and_CardDAV_implementations
Documentation
For khal's documentation have a look at readthedocs_.
.. _readthedocs: https://khal.readthedocs.org/
Installation
khal is packaged for most operating systems__ and should be installable with
your standard package manager.
.. __: https://repology.org/project/python:khal/versions
For some exemplary OS you can find installation instructions below. Otherwise see the documentation_ for more information.
.. _documentation: https://khal.readthedocs.io/en/latest/install.html
Debian/Ubuntu
apt install khal
Nix
~~~
nix-env -i khal
Arch
~~~~
pacman -S khal
Brew
~~~~
brew install khal
Fedora
~~~~~~
dnf install khal
FreeBSD
~~~~~~~
pkg install py-khal
Install latest version
pip install git+https://github.com/pimutils/khal
Alternatives
Projects with similar aims you might want to check out are calendar-cli_ (no offline storage and a bit different scope) and gcalcli_ (only works with google's calendar).
.. _calendar-cli: https://github.com/tobixen/calendar-cli .. _gcalcli: https://github.com/insanum/gcalcli
Contributing
You want to contribute to khal? Awesome!
The most appreciated way of contributing is by supplying code or documentation, reporting bugs, creating packages for your favorite operating system, making khal better known by telling your friends about it, etc.
License
khal is released under the Expat/MIT License::
Copyright (c) 2013-2022 khal contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
関連リソース

Time MCP Server
MCPGives agents the current time and IANA time zone conversion, detecting the system time zone automatically. No API key needed. Official MCP reference server, written in Python.
modelcontextprotocol/servers91.3k
gws (Google Workspace CLI)
CLIOne CLI for Gmail, Drive, Calendar, Docs, Sheets and other Google Workspace APIs, with commands generated from the Discovery service, JSON output and 100+ Agent Skills. From the googleworkspace org but not officially supported; needs OAuth via a Google Cloud project.
googleworkspace/cli31.6k
lark-cli (Lark CLI)
CLIOfficial Lark (Feishu) CLI with 200+ commands for messages, docs, Base, Sheets, calendar, mail, approvals, OKRs, meetings and Minutes, plus 20+ bundled lark-* agent skills and structured output. Create a Lark app and sign in first.
larksuite/cli17.7k
gog (gogcli)
CLIGoogle Workspace CLI for scripts and agents covering Gmail, Calendar, Drive, Docs, Sheets, Contacts and Tasks, with JSON output, read-only mode and command allowlists; can also run as a read-only-by-default MCP server. Bring your own Google OAuth client.
openclaw/gogcli8.5k
Himalaya
CLICommand-line email client supporting IMAP, SMTP, JMAP, Gmail and Microsoft Graph, with multiple accounts and --json output, so agents can check, search, compose and send mail. A first-run wizard auto-detects your mailbox settings.
pimalaya/himalaya7.5k
gcalcli
CLIView your agenda and search, create, edit and delete Google Calendar events from the terminal, with ICS invite import and scheduled reminders. You need to create your own Calendar API OAuth credentials in Google Cloud.
insanum/gcalcli3.8k