Made in Ukraine
$ man mysticals

Install guide

Pick an app and your system. About five minutes from download to your first synced calendar.

app
system
  1. Download the .dmg for your chip

    Apple menu → About This Mac. “Chip: Apple M…” → arm64. “Processor: Intel…” → x64.

    Go to downloads
  2. Drag Mysticals into Applications

    Open the .dmg, drag the icon onto the Applications folder, then eject the disk image.

  3. Add your first account

    Add calendar → Google (you sign in in the browser) or CalDAV (pick a preset below). Give it a label and a colour. Repeat for every account, and each one gets its own box.

  4. That’s it. Updates are automatic

    The app downloads new releases for your architecture and updates itself.

requirements
SystemmacOS, Windows, Linux
ChipsApple Silicon, Intel · x64 on Windows · x64 and arm64 on Linux
Terminal appNode.js 20.3+
where data livesTerminal: mysticals-terminal in ~/Library/Application Support (macOS), %APPDATA% (Windows) or ~/.local/share (Linux)Credentials are encrypted per account. The desktop and terminal apps never share data.

Connect your calendars

Same steps in both apps. For CalDAV, use an app password. You need one when 2FA is on, and it’s a good idea anyway.

providerserverpassword
GoogleSign in with Google in the browserNone, it’s OAuth
Private Emaildav.privateemail.com/dav.php/App password from Private Email webmail
iCloudcaldav.icloud.comApp-specific password from appleid.apple.com
Fastmailcaldav.fastmail.comSettings → Privacy & Security → App passwords
Any CalDAV serverChoose Custom and paste its URLWhatever your server issues

Username is your full email address. Presets fill in the server URL for you.

Troubleshooting

Windows: “Windows protected your PC”The Windows build isn’t code-signed yet, so SmartScreen warns about an unknown publisher. Click More info → Run anyway.
Linux: “Secure storage is unavailable”No Secret Service keyring is running. Install and unlock GNOME Keyring or KWallet (and libsecret-tools for the terminal app).
Terminal daemon won’t startRead daemon.log in the data folder. Stuck? Close every window, then pkill -f 'cli.js --daemon' (Windows: end the Node.js process in Task Manager).
Can’t select text in the TUIHold ⌥ Option while dragging on macOS, Shift in most Linux and Windows terminals. In tmux, set mouse on to pass clicks through.