Command Line
TIP
Looking for every flag at a glance? See the CLI Reference for a flat list of all commands, flags, and positionals.
The memrynote CLI ships with the desktop app. Enable it from Settings → Command Line to install the terminal command for your operating system. The generated command launches memrynote in headless CLI mode and exits without opening the desktop window.
Choose a Default vault in the same settings screen. After that, normal commands use that vault automatically:
memrynote --json vault statusFor multiple-vault workflows, --vault <path> is still available as a per-command override. You can also switch the CLI default from the terminal:
memrynote vault list
memrynote vault current
memrynote vault use work
memrynote --vault ~/OtherVault notes listUse --json when another script should consume the output. Without it, commands print a human-readable representation of the same result.
The desktop app installs a small memrynote launcher into a user-level PATH location. If your terminal was already open, reopen it before running the command.
If memrynote opens a generic Electron window or says Electron cannot find an app path, reinstall the command from Settings → Command Line. memrynote treats older generated launchers as stale so the settings switch can replace them with the current launcher. It only replaces launchers generated by memrynote; if another memrynote command already exists in that location, setup stops instead of overwriting it.
Vault
memrynote vault init
memrynote vault status
memrynote vault config
memrynote vault update-config '{"excludePatterns":[".git","tmp"]}'vault init creates the .memry folder, default note/journal/attachment folders, and the local SQLite databases if they do not already exist.
Notes and Folders
memrynote notes create "Draft" --content "First line" --folder Projects --tag writing --properties '{"status":"draft"}'
memrynote notes list --folder Projects
memrynote notes get note_abc123
memrynote notes exists note_abc123
memrynote notes preview "Draft"
memrynote notes resolve "Draft"
memrynote notes links note_abc123
memrynote notes update note_abc123 --append "More text" --properties '{"status":"active"}'
memrynote notes rename note_abc123 "Final Draft"
memrynote notes move note_abc123 Archive
memrynote notes set-local-only note_abc123 true
memrynote notes local-only-count
memrynote notes delete note_abc123 --yes
memrynote notes snapshot note_abc123 --force
memrynote notes versions note_abc123
memrynote notes version snapshot_abc123
memrynote notes restore-version snapshot_abc123
memrynote notes delete-version snapshot_abc123 --yes
memrynote notes attach note_abc123 ~/Downloads/mockup.png
memrynote notes attachments note_abc123
memrynote notes delete-attachment note_abc123 file_abc123-mockup.png --yes
memrynote notes import-files ~/Downloads/spec.md ~/Downloads/diagram.pdf --folder Projects
memrynote notes export-html note_abc123 ~/Desktop/note.html
memrynote notes export-pdf note_abc123 ~/Desktop/note.pdf --page-size A4
memrynote notes export-markdown note_abc123 ~/Desktop/note.md
memrynote folders list
memrynote folders create Projects
memrynote folders rename Projects Archive/Projects
memrynote folders delete Archive/Projects --yesDestructive commands require --yes. Note snapshots use the same version-history storage as the desktop app. Restoring a snapshot creates a backup snapshot of the current note first. Attachment commands write into the vault attachment folder. import-files copies supported markdown, PDF, image, audio, and video files into the notes folder; imported markdown is indexed immediately for follow-up CLI commands.
Properties and Folder Views
memrynote properties get note_abc123
memrynote properties set note_abc123 '{"status":"active","priority":3}'
memrynote properties rename note_abc123 status state
memrynote properties definitions
memrynote properties define mood select --options '[{"value":"Focused","color":"emerald"}]' --default '"Focused"'
memrynote properties update-definition mood --options '[{"value":"Calm","color":"sky"}]'
memrynote properties delete-definition mood --yes
memrynote folder-view config Projects
memrynote folder-view set-config Projects '{"formulas":{"score":"priority * 2"}}'
memrynote folder-view views Projects
memrynote folder-view set-view Projects '{"name":"Table","type":"table","default":true,"columns":[{"id":"title"},{"id":"state"}]}'
memrynote folder-view delete-view Projects Table
memrynote folder-view list Projects
memrynote folder-view properties Projects
memrynote folder-view suggestions note_abc123
memrynote folder-view exists ProjectsPer-note properties are stored in note frontmatter. Property definitions are stored in the local database, and select-style definitions are also mirrored to .memry/properties.md for desktop compatibility. Folder view configuration is stored in the same .folder.md files used by the desktop Folder View. Folder suggestions are deterministic local suggestions from existing vault folders; AI similarity suggestions still require the desktop runtime.
Journal
memrynote journal get 2026-05-13
memrynote journal write 2026-05-13 "Today..."
memrynote journal append 2026-05-13 "Follow-up line"
memrynote journal month 2026 5
memrynote journal heatmap 2026
memrynote journal stats 2026
memrynote journal context 2026-05-13
memrynote journal tags
memrynote journal streak
memrynote journal delete 2026-05-13 --yesJournal entries are stored in the vault's configured journal folder and use the same note metadata store as the desktop app. Journal context returns local due tasks plus overdue count; event context still requires the desktop calendar runtime. Journal tags are counted from journal-entry tags.
Tasks and Projects
memrynote tasks create "Follow up" --priority 2 --due 2026-05-20 --tag work --link-note note_abc123
memrynote tasks create "Daily review" --repeat '{"frequency":"daily","interval":1,"endType":"never","createdAt":"2026-05-13T00:00:00.000Z"}' --repeat-from due
memrynote tasks list --completed
memrynote tasks list --project project_abc123 --status status_abc123 --tag work --search follow --sort-by dueDate
memrynote tasks get task_abc123
memrynote tasks update task_abc123 --title "Follow up with design" --source-note note_abc123
memrynote tasks move task_abc123 --project project_abc123 --status status_abc123 --position 0
memrynote tasks get-subtasks task_abc123
memrynote tasks get-linked-tasks note_abc123
memrynote tasks today
memrynote tasks upcoming --days 14
memrynote tasks overdue
memrynote tasks stats
memrynote tasks tags
memrynote tasks convert-to-subtask task_abc123 parent_task_abc123
memrynote tasks convert-to-task task_abc123
memrynote tasks done task_abc123
memrynote tasks reopen task_abc123
memrynote tasks archive task_abc123
memrynote tasks unarchive task_abc123
memrynote tasks duplicate task_abc123
memrynote tasks bulk-done task_abc123 task_def456
memrynote tasks bulk-archive task_abc123 task_def456
memrynote tasks bulk-move task_abc123 task_def456 --project project_abc123
memrynote tasks bulk-delete task_abc123 task_def456 --yes
memrynote tasks reorder task_abc123 task_def456 --position 0 --position 1
memrynote tasks delete task_abc123 --yes
memrynote projects list
memrynote projects get project_abc123
memrynote projects create "Launch" --color "#0ea5e9" --icon rocket
memrynote projects update project_abc123 --name "Launch Plan"
memrynote projects archive project_abc123
memrynote projects unarchive project_abc123
memrynote projects delete project_abc123 --yes
memrynote projects reorder project_abc123 project_def456 --position 0 --position 1
memrynote projects statuses project_abc123
memrynote projects status-create project_abc123 Review --color "#0ea5e9"
memrynote projects status-update status_abc123 --name Reviewed --done true
memrynote projects status-delete status_abc123 --yes
memrynote projects status-reorder status_abc123 status_def456 --position 0 --position 1Tasks default to the Inbox project unless --project <id> is provided. Use repeated --tag and --link-note flags to set multiple tags or linked notes; pass null to --repeat, --repeat-from, --source-note, --status, or --parent to clear those fields.
Inbox and Search
memrynote inbox capture "Remember this" --title "Quick capture" --tag cli
memrynote inbox capture-link https://example.com/articles/memry-cli --tag reading
memrynote inbox capture-file ~/Downloads/brief.pdf --mime application/pdf --tag pdf
memrynote inbox get inbox_abc123
memrynote inbox list
memrynote inbox list --include-snoozed
memrynote inbox tags
memrynote inbox stats
memrynote inbox patterns
memrynote inbox archived --limit 20
memrynote inbox filing-history --limit 10
memrynote inbox stale-threshold
memrynote inbox set-stale-threshold 14
memrynote inbox update inbox_abc123 --title "Updated"
memrynote inbox add-tag inbox_abc123 follow-up
memrynote inbox remove-tag inbox_abc123 follow-up
memrynote inbox mark-viewed inbox_abc123
memrynote inbox convert-note inbox_abc123
memrynote inbox convert-task inbox_abc123
memrynote inbox link-note inbox_abc123 note_abc123 --tag linked
memrynote inbox snooze inbox_abc123 --until 2026-05-20T09:00:00.000Z --reason "Later"
memrynote inbox snoozed
memrynote inbox unsnooze inbox_abc123
memrynote inbox bulk-tag inbox_a inbox_b --tag batch
memrynote inbox bulk-snooze inbox_a inbox_b --until 2026-05-22T09:00:00.000Z
memrynote inbox bulk-archive inbox_a inbox_b
memrynote inbox archive inbox_abc123
memrynote inbox unarchive inbox_abc123
memrynote inbox delete inbox_abc123 --yes
memrynote search "launch"
memrynote search stats
memrynote search tags
memrynote search reasons
memrynote search add-reason note_abc123 note "Launch note" "launch"
memrynote search clear-reasons
memrynote search rebuild-indexSearch returns matching notes, journal entries, tasks, inbox items, reminders, templates, and calendar events. Search utility commands expose the same search metadata surfaces the desktop app uses for indexed counts, recent search reasons, and all known tags. Inbox list output hides archived and snoozed items by default, matching the desktop inbox. Use --archived to include archived items and --include-snoozed to include snoozed items. Capture, tag, archive, snooze, convert, and link commands update the same local inbox, note, and task tables/files as the desktop app. inbox patterns returns the desktop inbox-health capture heatmap, type distribution, top domains, and top tags from local data. File capture copies supported image, PDF, audio, and video files into attachments/inbox/<item-id>/. Link metadata scraping, thumbnail/OCR generation, transcription, metadata retry, link preview, filing suggestions, and calendar/source sync effects stay in the desktop runtime.
Graph
memrynote graph data
memrynote graph local note_abc123 --depth 2Graph commands return note, journal, task, project, and wikilink nodes/edges as JSON. Unresolved wikilinks are returned as ghost nodes.
Tags
memrynote tags list
memrynote tags notes work
memrynote tags color work --color "#123456"
memrynote tags rename work projects
memrynote tags remove-from-note note_abc123 projects
memrynote tags merge old-tag projects
memrynote tags delete projects --yesTag commands update the same note frontmatter, task tags, inbox tags, and tag definition colors used by the desktop app. tags notes resolves local note matches; desktop-only tag pin/unpin state is not changed by the CLI.
Reminders
memrynote reminders create note note_abc123 --at 2026-05-20T09:00:00.000Z --title "Review"
memrynote reminders update reminder_abc123 --at 2026-05-21T09:00:00.000Z --title "Review again"
memrynote reminders list --status pending --from 2026-05-20T00:00:00.000Z
memrynote reminders for-target note note_abc123
memrynote reminders due
memrynote reminders upcoming --days 14
memrynote reminders snooze reminder_abc123 --until 2026-05-21T09:00:00.000Z
memrynote reminders dismiss reminder_abc123
memrynote reminders count-pending
memrynote reminders bulk-dismiss reminder_a reminder_b
memrynote reminders delete reminder_abc123 --yesReminder targets can be note, journal, or highlight. Highlight reminders also accept --highlight-text, --highlight-start, and --highlight-end. Reminder update, target lookup, count, snooze, dismiss, and bulk-dismiss commands write to the same local reminders table used by the desktop scheduler; desktop notifications, triggered reminder inbox creation, and calendar sync side effects still require the Electron runtime.
Settings
memrynote settings list
memrynote settings groups
memrynote settings group general
memrynote settings set-group general '{"theme":"dark","language":"tr"}'
memrynote settings set-group journal '{"defaultTemplate":"Daily Review","showStatsFooter":false}'
memrynote settings set-group tabs '{"restoreSessionOnStart":false,"tabCloseButton":"active"}'
memrynote settings set-group noteEditor '{"toolbarMode":"sticky"}'
memrynote settings group voiceTranscription
memrynote settings set-group voiceTranscription '{"provider":"openai"}'
memrynote settings ai
memrynote settings set-ai false
memrynote settings get editor.width
memrynote settings set editor.width wideSettings values are stored in the vault data database and parsed as JSON-compatible CLI values where possible. settings group reads the same settings groups used by the desktop app and merges stored values with app defaults. Supported groups are general, editor, tasks, keyboard, sync, backup, graph, calendar, calendar.google, voiceTranscription, journal, tabs, and noteEditor. AI settings currently mirror the desktop app's local embedding toggle stored at ai.enabled; model load, reindexing, voice model status/download, voice recording readiness, and OpenAI voice API key storage remain desktop-runtime or keychain operations.
Locale
memrynote locale list
memrynote locale get
memrynote locale set trLocale commands use the same supported language list as the desktop app. locale set validates the locale, updates general.language, and mirrors it into .memry/config.json preferences so the Electron app can pick it up on boot. Runtime language switching for open Electron windows still belongs to the desktop app.
Sync Diagnostics
memrynote sync status
memrynote sync queue-size
memrynote sync history --limit 20
memrynote sync devices
memrynote sync storage
memrynote sync quarantine
memrynote sync check-device
memrynote sync pause
memrynote sync resume
memrynote sync settings
memrynote sync update-setting sync.autoSync falseThese commands inspect or update local sync metadata in the vault. Storage is local vault byte usage with limit: 0; remote quota requires authenticated desktop sync. Device-status checks return the local diagnostic shape, but server revocation checks, account setup, device linking, provider OAuth, and live push/pull still require the desktop runtime.
Agent Diagnostics
memrynote agent backends
memrynote agent models --backend codex_cli
memrynote agent local-settings
memrynote agent set-local-settings --preset lm_studio --model qwen
memrynote agent set-local-settings --preset custom --base-url http://localhost:9999/v1Agent commands cover local diagnostics and settings that can run without Electron. agent backends probes local claude and codex binaries with --version, agent models returns the desktop Agent Chat model presets, and agent local-settings reads or updates local OpenAI-compatible provider settings in the vault. Chat turns, conversation storage, tool approvals, MCP server lifecycle, provider connection tests, and live local-model discovery still require the desktop Agent runtime.
Templates
memrynote templates list
memrynote templates create "Meeting Notes" --content "## Agenda" --tag meeting
memrynote templates get template_abc123
memrynote templates update template_abc123 --name "Weekly Meeting" --content "## Notes"
memrynote templates duplicate template_abc123 "Meeting Copy"
memrynote templates delete template_abc123 --yesTemplates are stored as markdown files in .memry/templates, matching the desktop template storage model.
Bookmarks
memrynote bookmarks list
memrynote bookmarks list --type note
memrynote bookmarks list-by-type note
memrynote bookmarks get bookmark_abc123
memrynote bookmarks get-by-item note note_abc123
memrynote bookmarks add note note_abc123
memrynote bookmarks toggle note note_abc123
memrynote bookmarks has note note_abc123
memrynote bookmarks remove note note_abc123
memrynote bookmarks delete bookmark_abc123 --yes
memrynote bookmarks reorder bookmark_2 bookmark_1
memrynote bookmarks bulk-create '[{"itemType":"note","itemId":"note_abc123"}]'
memrynote bookmarks bulk-delete bookmark_abc123 bookmark_def456Bookmarks use the same polymorphic item type and item id records as the desktop sidebar. Bulk create/delete commands operate on the local bookmark table; desktop bookmark list item title resolution still happens in the Electron renderer/main process.
Saved Filters
memrynote saved-filters list
memrynote saved-filters create "Urgent" --config '{"priorities":[4]}'
memrynote saved-filters get filter_abc123
memrynote saved-filters update filter_abc123 --name "Urgent Work"
memrynote saved-filters reorder filter_b filter_a --position 0 --position 1
memrynote saved-filters delete filter_abc123 --yesFilter config is parsed as JSON, so shell quoting matters for objects and arrays. Reorder writes the same saved-filter positions used by the desktop task sidebar.
Calendar Events
memrynote calendar events create "Customer call" --start 2026-05-20T09:00:00.000Z --end 2026-05-20T09:30:00.000Z
memrynote calendar events list
memrynote calendar events list --start 2026-05-20T00:00:00.000Z --end 2026-05-21T00:00:00.000Z
memrynote calendar events get calendar_abc123
memrynote calendar events update calendar_abc123 --location "Desk"
memrynote calendar events delete calendar_abc123 --yes
memrynote calendar range --start 2026-05-20T00:00:00.000Z --end 2026-05-21T00:00:00.000Z
memrynote calendar sources --provider google
memrynote calendar provider-status --provider google
memrynote calendar google-settings
memrynote calendar set-default-google-calendar work-calendar --mark-onboarding false
memrynote calendar external list --source calendar_source_abc123
memrynote calendar external get external_event_abc123
memrynote calendar external promote external_event_abc123
memrynote calendar bindings list --provider google
memrynote calendar bindings get binding_abc123Local calendar event commands write to the same calendar_events table used by the desktop calendar. calendar range returns the desktop calendar projection shape for local events, due tasks, reminders, snoozed inbox items, and selected external events. Calendar source, Google settings, external-event, and binding commands inspect or update local provider metadata created by desktop sync. calendar external promote converts a synced external event mirror into a local editable event and archives the mirror, matching the desktop promotion behavior. Provider connection, OAuth, remote calendar listing, refresh flows, retry sync, and push/pull execution stay in the desktop runtime.