Install
openclaw skills install managing-apple-notesManage Apple Notes from the terminal using the inotes CLI. Use when asked to list, read, create, edit, delete, or search notes in Notes.app on macOS.
openclaw skills install managing-apple-notesinotes is a macOS CLI for Apple Notes. It communicates with Notes.app via AppleScript and supports all CRUD operations plus search. Output defaults to a human-readable table; use --json for machine-readable output.
inotes does not connect to any remote serversSystem Requirements:
Install via Homebrew (recommended):
brew install wangwalk/tap/inotes
Verify installation:
inotes --version # Should show: 0.1.2
which inotes # Should be in /opt/homebrew/bin/ or /usr/local/bin/
Manual installation from GitHub Releases:
Download from GitHub Releases and verify SHA256:
curl -LO https://github.com/wangwalk/inotes/releases/download/v0.1.2/inotes-0.1.2-universal-apple-darwin.tar.gz
# Verify checksum from release notes
tar xzf inotes-0.1.2-universal-apple-darwin.tar.gz
sudo cp inotes /usr/local/bin/
sudo chmod +x /usr/local/bin/inotes
Check permission:
inotes status
If permission is denied, the user must enable Automation access for their terminal in System Settings > Privacy & Security > Automation > Notes.
inotes # recent iCloud notes (default)
inotes today # modified today
inotes show week # modified this week
inotes show all # all notes
inotes show --folder Work # notes in a specific folder
inotes show recent --limit 10 # limit results
inotes folders
inotes accounts
inotes mkfolder "Projects"
inotes mkfolder "Work Notes" --account Exchange
inotes read 1 # by index from last show output
inotes read A3F2 # by ID prefix (4+ characters)
inotes add --title "Meeting Notes" --body "Action items" --folder Work
inotes edit 1 --title "Updated Title"
inotes edit 2 --body "New content" --folder Projects
inotes delete 1 # with confirmation
inotes delete 1 --force # skip confirmation
inotes search "quarterly review"
inotes search "TODO" --folder Work --limit 10
By default only iCloud notes are shown. Use --account <name> or --all-accounts to access other accounts.
inotes accounts # list available accounts
inotes show all --account Exchange
inotes show all --all-accounts
| Flag | Description |
|---|---|
| (default) | Human-readable table |
--json / -j | JSON |
--plain | Tab-separated |
--quiet / -q | Count only |
--json when you need to parse output programmatically.--no-input to disable interactive prompts in non-interactive contexts.--no-color when capturing output to avoid ANSI escape sequences.show output) or by ID prefix (first 4+ hex characters of the note ID).inotes status first to verify automation permission before attempting other commands.Create daily note:
inotes add --title "Daily Notes $(date +%Y-%m-%d)" --body "## TODO\n\n## Done\n"
Export all notes to JSON:
inotes show all --json > notes-backup.json
Find notes with specific tag:
inotes search "#important" --json | jq '.[] | select(.folder == "Work")'
Archive completed notes:
inotes search "DONE" --folder Inbox --json | jq -r '.[].id' | while read id; do
inotes edit "$id" --folder Archive
done
"Automation permission denied"
"Command not found"
which inotes to check if it's in your PATHbrew doctor and check for warningsbrew reinstall wangwalk/tap/inotes"Note not found" when using index
inotes show again to get fresh indicesinotes read A3F2Performance issues with many notes
--limit flag to reduce result set--folder "Work"today, week, recentinotes --version inotes status