DuckTape is an AI-powered CLI that makes it easy to manage your Apple Calendar, Reminders, and Notes with natural language commands. Stop clicking through calendar apps and start typing what you want to happen.
Simply type what you want to do in plain English. DuckTape understands context, dates, times, and recurring events.
Work with multiple calendars, smart date understanding, and automatic calendar selection based on context.
Create Zoom meetings directly in your calendar events with automatic link generation.
DuckTape offers flexible usage options to match your workflow preferences
Enter an interactive shell where you can use both direct commands and natural language
$ ducktape
🦆 calendar list
🦆 schedule a meeting in 30 minutes with Joe
🦆 remind me to call Jane tomorrow at 2pm
Run structured commands directly from your shell for precise control
$ ducktape calendar list
$ ducktape calendar create "Team Meeting" 2025-05-06 13:00 14:00 "Work" --contacts "Joe Duck" --zoom
$ ducktape note list
Use natural language directly from your shell with the ai subcommand
$ ducktape ai schedule a meeting in 30 minutes with Joe
$ ducktape ai remind me to call Jane tomorrow at 2pm
$ ducktape ai create a zoom event today at 10am called Team Check in and invite Joe Duck
DuckTape uses a config.toml
file located in the root of the repository to manage its settings. This file allows you to configure various aspects of the application, such as whether to use a language model (LLM) or operate in Terminal Mode.
[language_model]
provider = "OpenAI" # Options: "OpenAI", "Grok", "DeepSeek", comment out by adding # in front of provider or leave empty for Terminal Mode
[calendar]
default_calendar = "Work"
default_reminder_minutes = 15
default_duration_minutes = 60
[reminder]
default_list = "Reminders"
default_reminder = true
[notes]
default_folder = "Notes"
To switch between Terminal Mode and Natural Language Mode, update the provider
field under the [language_model]
section:
provider
field empty.provider
field to one of the supported AI providers (e.g., OpenAI
, Grok
, or DeepSeek
).To set a default calendar for events, update the default_calendar
field under the [calendar]
section:
[calendar]
default_calendar = "Work"
To view the current configuration, open the config.toml
file in the root of the repository. To change settings, edit the file and save your changes.
provider
field under [language_model]
to enable natural language processing. Leave it empty to use Terminal Mode.[calendar]
.[reminder]
.[notes]
.brew install ducktapeai/ducktape/ducktape
DuckTape works with popular AI models. Export an API key for your preferred provider:
# Choose one:
export OPENAI_API_KEY='your-openai-api-key-here'
export XAI_API_KEY='your-xai-api-key-here'
export DEEPSEEK_API_KEY='your-deepseek-api-key-here'
Get started with DuckTape today and transform how you interact with your calendar.