Made in Ukraine
$ mysticals --version → 0.12.15

Download Mysticals

Two apps, one idea. Both are free, both run on macOS, Windows and Linux, and they keep separate accounts. Install one or both.

Desktop app

v0.12.15

Pick your system. The button for this computer is highlighted.

macOS

Not sure which Mac you have? Apple menu → About This Mac. “Chip: Apple M…” is Apple Silicon, “Processor: Intel…” is Intel.

The Mac app is signed and notarized by Apple. On Windows, if SmartScreen warns about an unknown publisher, click More info → Run anyway. Step by step →Everything else, including the Mac .zip: latest release →

Terminal app

npm · v0.12.15

Installs from npm as a global command and needs Node.js 20.3 or newer. Works in any terminal: Terminal.app, iTerm2, Ghostty, WezTerm, Windows Terminal, GNOME Terminal, tmux.

zsh
npm i -g mysticals
mysticals # press ? for keys
Try it with two fake accounts first: MYSTICALS_MOCK=1 mysticals · PowerShell: $env:MYSTICALS_MOCK=1; mysticals · cmd: set "MYSTICALS_MOCK=1" && mysticalsPackage page: npmjs.com/package/mysticals

Platforms

systemdesktopterminalnotes
macOS · Apple Silicon.dmg arm64npmRecommended
macOS · Intel.dmg x64npmSupported
Windows · x64.exe setupnpmCredentials sealed with DPAPI
Linux · x64.AppImage / .debnpmNeeds a Secret Service keyring (GNOME Keyring, KWallet)
Linux · arm64.AppImage / .debnpmSame keyring requirement as x64

Updates

On macOS the desktop app downloads new releases for its architecture and updates itself. On Windows and Linux it tells you and opens the release page. The terminal app checks npm once a day and shows a hint in the status line, then you run npm i -g mysticals again.

All releases and changelogs →

Build from source

git clone https://github.com/a1exalexander/mysticals
cd mysticals
cp .env.example .env # Google OAuth values, optional
pnpm i
pnpm dist # desktop installers in apps/desktop/dist
pnpm --filter mysticals build # terminal app in apps/terminal/dist
Needs Node.js 20.3+ and pnpm 10. Without the Google values only CalDAV accounts work, see CONTRIBUTING. Electron binary missing after install? Run node apps/desktop/node_modules/electron/install.js.