Caution
Status: Under development
Memo is a Python CLI for managing Apple Notes and Apple Reminders from the terminal. It is built for a keyboard-driven workflow, so you can browse, read, edit, move, export, and complete items without leaving your shell.
Memo is also used by OpenClaw.
Full documentation is available at antoniorodr.github.io/memo.
- View notes and reminders directly from the terminal
- Read note content as clean Markdown
- Add and edit notes without leaving your editor
- Move notes between folders and browse subfolders
- Search notes with fuzzy matching
- Mark reminders as completed from the CLI
- Export notes to HTML and convert them to Markdown
The project is built with:
Before starting, make sure the required tools and dependencies are installed on your machine:
python3.13 --version
echo $EDITORMemo depends on Apple Notes, Apple Reminders, and AppleScript, so it is intended for macOS. For manual and uv installs, Python 3.13 or newer is required.
If you want to add or edit notes from the CLI, set $EDITOR to your preferred terminal editor.
git clone https://github.com/antoniorodr/memo
cd memo
pip install .brew tap antoniorodr/memo
brew install antoniorodr/memo/memoInstallation with uv
uv tool install git+https://github.com/antoniorodr/memoOnce installed, set your editor and inspect the available commands:
export EDITOR="vim"
memo --help
memo notes --help
memo rem --helpUse memo notes to work with Apple Notes and memo rem to manage Apple Reminders from the terminal.
Note
When editing notes with images, Memo preserves them by inserting [MEMO_IMG_N] placeholders into the text shown in your editor. Keep a placeholder to preserve the corresponding image, or remove it to delete that image.
Important
Because of AppleScript limitations, preserved images are appended to the end of the note after editing, even if their placeholders appear elsewhere in the text.
For full usage details and examples, see the documentation site.
If you find the project useful, you can support the author here:
