Skip to content

CLI Reference

A flat reference for every memry command, flag, and positional argument. For a prose walkthrough, see Command Line.

Synopsis

bash
memry [--vault <path>] [--json] <command> [subcommand] [args] [flags]

The 21 top-level commands are listed in the usage error when you run memry with no arguments:

vault | notes | folders | properties | folder-view | tasks | projects |
inbox | journal | tags | settings | locale | reminders | templates |
bookmarks | saved-filters | calendar | sync | agent | graph | search

Global flags

FlagTypeDescription
--vault <path>pathOverride the default vault for this call.
--jsonbooleanEmit machine-readable JSON instead of a human-formatted block.

The CLI reads the default vault from your desktop Settings → Command Line → Default vault. With multiple vaults configured, you must pick one either via memry vault use <name> or --vault <path> per call.

Output conventions

Without --json, primitives print as themselves and objects/arrays pretty-print as JSON with 2-space indentation. With --json, the underlying MemryApp.* method's return value is emitted on a single line. Delete commands return { "success": boolean }; bulk operations typically return { "count": number }.

Commands that change or remove data are marked destructive below. Every destructive command requires --yes and exits non-zero without it.


vault

memry vault <list|current|use|init|status|open|config|update-config> [args]

list

Lists known vaults from the desktop app's registry.

FlagTypeRequiredDescription
none
bash
memry vault list

current

Prints the active vault (from --vault or the configured default).

bash
memry --json vault current

use

Sets the default vault for future CLI calls.

PositionalDescription
<vault-name-or-path>A name from vault list or an absolute path.
bash
memry vault use work

init

Idempotently creates .memry/ folder layout and the local databases if missing.

bash
memry vault init

status

Returns vault metadata: path, version, sizes, last opened.

bash
memry vault status

open

Alias of status.

config

Returns the vault's editable config.

bash
memry vault config

update-config

Merges a JSON object into the vault config.

PositionalDescription
<json>Partial config object.
bash
memry vault update-config '{"excludePatterns":[".git","tmp"]}'

notes

memry notes <subcommand> [args]

create

PositionalDescription
<title>New note title.
FlagTypeDescription
--content <text>stringInitial body. Defaults to empty.
--folder <path>stringTarget folder.
--tag <name>repeatableTag to add. Pass multiple times.
--properties <json>JSON objectInitial frontmatter.
bash
memry notes create "Draft" --content "First line" --folder Projects --tag writing

list

FlagTypeDescription
--folder <path>stringRestrict to one folder.
--limit <n>numberMax rows. Default 100.
bash
memry notes list --folder Projects --limit 20

get

PositionalDescription
<id-or-path>Note id (e.g. note_abc123) or vault path.
bash
memry notes get note_abc123

exists

Returns { exists: boolean }.

PositionalDescription
<id-or-path>Note id or path.

preview

Resolves a wiki-link title and returns a content preview.

PositionalDescription
<title>Note title.

resolve

Resolves a wiki-link title to a concrete note record (no body).

Returns inbound and outbound links for a note.

PositionalDescription
<id-or-path>Note id or path.

update

PositionalDescription
<id-or-path>Note to modify.
FlagTypeDescription
--title <text>stringNew title.
--content <text>stringReplace body.
--append <text>stringAppend to body.
--tag <name>repeatableReplace tag set. Omit to leave untouched.
--properties <json>JSON objectReplace frontmatter.
bash
memry notes update note_abc123 --append "More text" --properties '{"status":"active"}'

rename

PositionalDescription
<id-or-path>Note.
<new-title>New title.

move

PositionalDescription
<id-or-path>Note.
<folder>Destination folder path.

set-local-only

PositionalDescription
<id-or-path>Note.
<true/false>Whether to exclude from sync.

local-only-count

Returns the count of notes flagged local-only.

delete (destructive)

Requires --yes. Returns { success: boolean }.

PositionalDescription
<id-or-path>Note.
bash
memry notes delete note_abc123 --yes

attach

PositionalDescription
<note-id>Note.
<file-path>Absolute path to copy in as an attachment.

attachments

Lists attachments for a note.

PositionalDescription
<note-id>Note.

delete-attachment (destructive)

Requires --yes.

PositionalDescription
<note-id>Note.
<attachment-id>Attachment.

import-files

PositionalDescription
<paths...>Files or folders to import.
FlagTypeDescription
--folder <path>stringTarget folder.

export-html

PositionalDescription
<note-id>Note.
<output-path>Destination file.
FlagTypeDescription
--no-metadatabooleanOmit frontmatter.
--include-metadata <true/false>booleanForce include. Default true.

export-pdf

Same positionals as export-html plus:

FlagTypeDescription
--no-metadatabooleanOmit frontmatter.
--include-metadata <true/false>booleanForce include. Default true.
--page-size <name>stringe.g. A4, Letter.

export-markdown

PositionalDescription
<note-id>Note.
<output-path>Destination .md file.

snapshot

Creates a manual version snapshot.

PositionalDescription
<note-id>Note.
FlagTypeDescription
--reason <label>stringSnapshot label. Default manual.
--forcebooleanTake a snapshot even if content hasn't changed.

versions

Lists the version history of a note.

PositionalDescription
<note-id>Note.
FlagTypeDescription
--limit <n>numberDefault 50.

version

Returns one snapshot.

PositionalDescription
<snapshot-id>Snapshot.

restore-version

Restores a note to a snapshot.

delete-version (destructive)

Requires --yes.


folders

list

bash
memry folders list

create

PositionalDescription
<path>Folder path.

rename

PositionalDescription
<old-path>Existing folder.
<new-path>New path.

delete (destructive)

Requires --yes.

PositionalDescription
<path>Folder.

properties

get

Returns custom properties for any entity (note, task, etc.) that supports them.

PositionalDescription
<entity-id>Entity id.

set

PositionalDescription
<entity-id>Entity.
<json>Properties JSON object.

rename

Renames a property key on one entity.

PositionalDescription
<entity-id>Entity.
<old-key>Existing key.
<new-key>New key.

definitions

Lists workspace-wide property definitions.

define

PositionalDescription
<name>Definition name.
<type>e.g. text, number, select, date.
FlagTypeDescription
--options <json>anyType-specific options (e.g. select choices).
--default <json>anyDefault value.
--color <name>stringUI color.

update-definition

PositionalDescription
<name>Definition.
FlagTypeDescription
--type <name>stringNew type.
--options <json>anyNew options.
--default <json>anyNew default.
--color <name>stringNew color.

delete-definition (destructive)

Requires --yes.


folder-view

Per-folder view configuration (sort, filters, custom views).

config

PositionalDescription
<folder-path>Folder.

set-config

PositionalDescription
<folder-path>Folder.
<json>Folder view config object.

views

Lists named views for a folder.

set-view

PositionalDescription
<folder-path>Folder.
<view-json>View definition.

delete-view

PositionalDescription
<folder-path>Folder.
<view-id>View.

list

Notes in the folder enriched with their visible properties.

PositionalDescription
<folder-path>Folder.
FlagTypeDescription
--limit <n>numberDefault 100.
--offset <n>numberDefault 0.

properties

Lists properties available in this folder.

suggestions

Suggests folders for a note.

PositionalDescription
<note-id>Note.

exists

Returns { exists: boolean } for a folder path.


tasks

create

PositionalDescription
<title>Task title.
FlagTypeDescription
--description <text>stringBody.
--project <id>stringProject id.
--status <id/null>stringStatus id; null for inbox.
--parent <id/null>stringParent task id.
--due <YYYY-MM-DD>stringDue date.
--due-time <HH:MM>stringDue time.
--start <YYYY-MM-DD>stringStart date.
--repeat <json>JSONRecurrence config.
--repeat-from <due/completion>stringRecurrence anchor.
--source-note <id>stringOriginating note.
--priority <n>numberDefault 0.
--tag <name>repeatableTag.
--link-note <id>repeatableLinked note.

list

FlagTypeDescription
--completedbooleanInclude completed.
--archivedbooleanInclude archived.
--project <id>stringFilter by project.
--status <id/null>stringFilter by status.
--parent <id/null>stringFilter by parent.
--due-before <date>stringDue strictly before.
--due-after <date>stringDue strictly after.
--tag <name>repeatableTag filter.
--search <text>stringText search.
--sort-by <field>stringSort key.
--sort-order <asc/desc>stringSort direction.
--limit <n>numberPagination.
--offset <n>numberPagination.
bash
memry tasks list --project proj_1 --due-before 2026-01-01 --sort-by due --sort-order asc

get

PositionalDescription
<id>Task id.

update

Positional <id>. Same flags as create; only specified flags are written.

done / complete

Marks a task complete.

PositionalDescription
<id>Task id.

reopen

Reopens a completed task.

archive / unarchive

Toggles the archive flag.

move

PositionalDescription
<id>Task.
FlagTypeDescription
--project <id>stringDestination project.
--status <id/null>stringDestination status.
--parent <id/null>stringNew parent.
--position <n>numberPosition within the status column.

get-subtasks

PositionalDescription
<id>Parent task.

get-linked-tasks

PositionalDescription
<note-id>Note whose linked tasks to return.

today

FlagTypeDescription
--date <YYYY-MM-DD>stringOverride "today".

upcoming

FlagTypeDescription
--days <n>numberWindow. Default 7.
--from <YYYY-MM-DD>stringWindow start.

overdue

FlagTypeDescription
--date <YYYY-MM-DD>stringReference date.

stats

FlagTypeDescription
--date <YYYY-MM-DD>stringReference date.

tags

Returns the set of tags used on tasks.

convert-to-subtask

PositionalDescription
<task-id>Task to demote.
<parent-id>New parent.

convert-to-task

Promotes a subtask back to a top-level task.

PositionalDescription
<id>Task.

duplicate

PositionalDescription
<id>Source task.

bulk-done / bulk-complete

PositionalDescription
<id...>Task ids.

bulk-archive

PositionalDescription
<id...>Task ids.

bulk-move

PositionalDescription
<id...>Task ids.
FlagTypeRequiredDescription
--project <id>stringyesDestination project.

bulk-delete (destructive)

Requires --yes.

reorder

Reorders tasks within their list.

PositionalDescription
<id...>Task ids in desired order.
FlagTypeDescription
--position <n>repeatableOne per id, parallel to positional order.

delete (destructive)

Requires --yes.


projects

list

bash
memry projects list

get

PositionalDescription
<id>Project id.

create

PositionalDescription
<name>Project name.
FlagTypeDescription
--description <text>string
--color <name>string
--icon <name>string

update

Positional <id>. Flags --name, --description, --color, --icon.

archive / unarchive

PositionalDescription
<id>Project.

delete (destructive)

Requires --yes.

reorder

PositionalDescription
<id...>Project ids in desired order.
FlagTypeDescription
--position <n>repeatableOne per id.

statuses

Lists statuses for a project.

PositionalDescription
<project-id>Project.

status-create

PositionalDescription
<project-id>Project.
<name>Status name.
FlagTypeDescription
--color <name>stringUI color.
--done <true/false>booleanTreats tasks in this status as completed.

status-update

PositionalDescription
<status-id>Status.
FlagTypeDescription
--name <text>string
--color <name>string
--position <n>numberColumn position.
--default <true/false>booleanMake default status for new tasks.
--done <true/false>boolean"Done" semantics.

status-delete (destructive)

Requires --yes.

status-reorder

PositionalDescription
<id...>Status ids.
FlagTypeDescription
--position <n>repeatableOne per id.

inbox

capture

PositionalDescription
<content>Text content.
FlagTypeDescription
--title <text>stringOptional title.
--tag <name>repeatableTag.
PositionalDescription
<url>Link.
FlagTypeDescription
--tag <name>repeatableTag.

capture-file

PositionalDescription
<file-path>File to import.
FlagTypeDescription
--mime <type>stringOverride detected MIME.
--title <text>string
--tag <name>repeatable

get

PositionalDescription
<id>Inbox item.

list

FlagTypeDescription
--archivedbooleanInclude archived.
--include-snoozedbooleanInclude snoozed.

tags

Returns tags used on inbox items.

stats

Returns counts (new, snoozed, archived, etc.).

patterns

Returns detected filing patterns.

archived

FlagTypeDescription
--search <text>string
--limit <n>numberDefault 50.
--offset <n>numberDefault 0.

filing-history

FlagTypeDescription
--limit <n>numberDefault 20.

stale-threshold

Returns the staleness cutoff in days.

set-stale-threshold

PositionalDescription
<days>Threshold in days.

update

PositionalDescription
<id>Inbox item.
FlagTypeDescription
--title <text>string
--content <text>string

add-tag / remove-tag

PositionalDescription
<id>Inbox item.
<tag>Tag name.

mark-viewed

PositionalDescription
<id>Inbox item.

convert-note / convert-task

Promotes an inbox item to a note or task.

PositionalDescription
<id>Inbox item.
<note-id>Target note.
FlagTypeDescription
--tag <name>repeatableTag.

snooze

PositionalDescription
<id>Inbox item.
FlagTypeRequiredDescription
--until <ISO>stringyesWake-up timestamp.
--reason <text>stringOptional reason.

unsnooze

PositionalDescription
<id>Inbox item.

snoozed

Lists currently snoozed items.

bulk-tag

PositionalDescription
<id...>Inbox item ids.
FlagTypeDescription
--tag <name>repeatableTags to apply.

bulk-snooze

PositionalDescription
<id...>Inbox item ids.
FlagTypeRequiredDescription
--until <ISO>stringyes
--reason <text>string

bulk-archive

PositionalDescription
<id...>Inbox item ids.

archive / unarchive

PositionalDescription
<id>Inbox item.

delete (destructive)

Requires --yes. Removes the inbox item permanently.


journal

get

PositionalDescription
<date>YYYY-MM-DD.

write

PositionalDescription
<date>YYYY-MM-DD.
<content>Replaces the entry body.

append

PositionalDescription
<date>YYYY-MM-DD.
<content>Appended to existing body.

delete (destructive)

Requires --yes.

PositionalDescription
<date>YYYY-MM-DD.

month

PositionalDescription
<year>Four-digit year.
<month>1–12.

heatmap

PositionalDescription
<year>Four-digit year.

stats

PositionalDescription
<year>Four-digit year.

context

Returns same-day notes, tasks, and reminders.

PositionalDescription
<date>YYYY-MM-DD.

tags

Returns tags used in journal entries.

streak

Returns the current writing streak.


tags

list

bash
memry tags list

notes

PositionalDescription
<tag>Tag name.

color / set-color

PositionalDescription
<tag>Tag name.
[color]New color (or use --color).
FlagTypeDescription
--color <name>stringNew color.

rename

PositionalDescription
<old>Existing tag.
<new>New name.

remove-from-note

PositionalDescription
<note-id>Note.
<tag>Tag to remove from this note only.

merge

PositionalDescription
<source>Tag to merge from.
<target>Tag to merge into (kept).

delete (destructive)

Requires --yes. Removes the tag from every entity.


settings

list

Returns all key/value settings.

groups

Lists logical groups (UI sections).

group

PositionalDescription
<name>Group name.

set-group

PositionalDescription
<name>Group name.
<json>Partial settings object for the group.

ai

Returns AI settings.

set-ai

PositionalDescription
<true/false>Enable or disable AI features.

get

PositionalDescription
<key>Setting key.

set

PositionalDescription
<key>Setting key.
<value>Value (parsed as JSON if possible).

delete (destructive)

Requires --yes.


locale

get

Returns the active locale code.

set

PositionalDescription
<code>Locale code (e.g. en-US, tr-TR).

list

Lists supported locales.


reminders

create

PositionalDescription
<target-type>note, journal, or highlight.
<target-id>Id of the targeted entity.
FlagTypeRequiredDescription
--at <ISO>stringyesFire time.
--title <text>string
--note <text>string
--highlight-text <text>stringFor highlight target.
--highlight-start <n>numberCharacter offset.
--highlight-end <n>numberCharacter offset.

get

PositionalDescription
<id>Reminder id.

update

PositionalDescription
<id>Reminder id.
FlagTypeDescription
--at <ISO>stringNew fire time.
--title <text/null>string
--note <text/null>string

list

FlagTypeDescription
--target-type <name>stringnote, journal, or highlight.
--target-id <id>string
--status <name>stringpending, triggered, dismissed, or snoozed.
--from <ISO>stringWindow start.
--to <ISO>stringWindow end.
--limit <n>numberDefault 50.
--offset <n>numberDefault 0.

for-target

PositionalDescription
<target-type>note, journal, or highlight.
<target-id>Entity id.

due

Returns reminders past their fire time.

upcoming

FlagTypeDescription
--days <n>numberWindow. Default 7.

dismiss

PositionalDescription
<id>Reminder.

snooze

PositionalDescription
<id>Reminder.
[until]New ISO time, or use --until.
FlagTypeDescription
--until <ISO>stringNew fire time.

count-pending

Returns the count of pending reminders.

bulk-dismiss

PositionalDescription
<id...>Reminder ids.

delete (destructive)

Requires --yes.


templates

list

bash
memry templates list

get

PositionalDescription
<id>Template id.

create

PositionalDescription
<name>Template name.
FlagTypeDescription
--description <text>string
--icon <name>string
--content <text>stringTemplate body.
--tag <name>repeatableTag.

update

Positional <id>. Flags --name, --description, --icon, --content, --tag.

duplicate

PositionalDescription
<id>Source template.
<new-name>Name for the duplicate.

delete (destructive)

Requires --yes.


bookmarks

list

FlagTypeDescription
--type <name>stringFilter by item type.

get

PositionalDescription
<id>Bookmark id.

get-by-item

PositionalDescription
<item-type>e.g. note, task.
<item-id>Item id.

list-by-type

PositionalDescription
<item-type>Item type filter.

add

PositionalDescription
<item-type>Item type.
<item-id>Item id.

toggle

Same positionals as add. Adds if missing, removes if present.

remove

PositionalDescription
<item-type>Item type.
<item-id>Item id.

delete (destructive)

Requires --yes. Removes by bookmark id.

PositionalDescription
<id>Bookmark id.

has

PositionalDescription
<item-type>Item type.
<item-id>Item id.

Returns { bookmarked: boolean }.

reorder

PositionalDescription
<id...>Bookmark ids in desired order.

bulk-create

PositionalDescription
<json-array>JSON array of { "itemType", "itemId" }.
bash
memry bookmarks bulk-create '[{"itemType":"note","itemId":"note_1"}]'

bulk-delete

PositionalDescription
<id...>Bookmark ids.

saved-filters

list

bash
memry saved-filters list

get

PositionalDescription
<id>Saved filter id.

create

PositionalDescription
<name>Filter name.
FlagTypeDescription
--config <json>JSONFilter config. Defaults to {}.

update

PositionalDescription
<id>Saved filter id.
FlagTypeDescription
--name <text>stringNew name.
--config <json>JSONNew config.

reorder

PositionalDescription
<id...>Filter ids in desired order.
FlagTypeDescription
--position <n>repeatableOne per id.

delete (destructive)

Requires --yes.


calendar

Calendar groups several sub-namespaces. The top-level subcommands are:

sources | select-source | provider-status | google-settings |
set-default-google-calendar | range | external <action> |
bindings <action> | events <action>

sources

FlagTypeDescription
--provider <name>stringFilter by provider.
--kind <name>stringFilter by kind.
--selectedbooleanOnly return selected sources.

select-source

PositionalDescription
<source-id>Source id.
FlagTypeDescription
--selected <true/false>booleanSelection state. Default true.

provider-status

PositionalDescription
[provider]Provider name (or use --provider).
FlagTypeRequiredDescription
--provider <name>stringyes (or positional)Provider name.
--account <id>stringAccount scope.

google-settings

Returns the active Google calendar configuration.

set-default-google-calendar

PositionalDescription
<calendar-id/null>Google calendar id, or null to clear.
FlagTypeDescription
--calendar <id/null>stringAlternative to positional.
--mark-onboarding <true/false>booleanDefault true.

range

Returns events from all selected sources in a window.

FlagTypeRequiredDescription
--start <ISO>stringyesWindow start.
--end <ISO>stringyesWindow end.
--include-unselectedbooleanInclude unselected sources.

external list

FlagTypeDescription
--source <id>stringSource filter.
--archivedbooleanInclude archived.
--start <ISO>stringWindow start.
--end <ISO>stringWindow end.

external get

PositionalDescription
<event-id>External event id.

external promote

Promotes an external event to a managed memrynote event.

PositionalDescription
<event-id>External event id.

bindings list

FlagTypeDescription
--source-type <name>string
--source <id>string
--provider <name>string
--archivedboolean

bindings get

PositionalDescription
<binding-id>Binding id.

events create

PositionalDescription
<title>Event title.
FlagTypeRequiredDescription
--start <ISO>stringyesStart time.
--end <ISO>stringEnd time.
--timezone <tz>stringDefault UTC.
--description <text>string
--location <text>string
--all-day <true/false>booleanDefault false.

events get

PositionalDescription
<event-id>Event id.

events list

FlagTypeDescription
--start <ISO>stringWindow start.
--end <ISO>stringWindow end.
--archivedbooleanInclude archived.

events update

PositionalDescription
<event-id>Event id.
FlagTypeDescription
--title <text>string
--start <ISO>string
--end <ISO/null>string
--timezone <tz>string
--description <text/null>string
--location <text/null>string
--all-day <true/false>boolean

events delete (destructive)

Requires --yes.


sync

status

Returns the live sync state (linked? paused? last cursor? errors?).

queue-size

Returns the pending outbound queue size.

history

FlagTypeDescription
--limit <n>numberDefault 50.
--offset <n>numberDefault 0.

devices

Lists known devices for this account.

storage

Returns the encrypted-blob storage breakdown by type.

quarantine

Lists items the engine quarantined (typically schema mismatches).

check-device

Verifies this device is still authorized.

pause / resume

Toggles the sync engine.

settings

Returns the synced-settings snapshot.

update-setting

PositionalDescription
<path>Dot-separated path within synced settings.
<value>New value (parsed as JSON if possible).

agent

backends

Returns availability + version info for each agent backend.

models

PositionalDescription
[backend]claude_cli or codex_cli (or use --backend).
FlagTypeDescription
--backend <name>stringclaude_cli or codex_cli.

local-settings

Returns the local-provider settings used by Agent Chat.

set-local-settings

FlagTypeDescription
--preset <name>stringollama, lm_studio, llama_cpp, or custom.
--base-url <url>stringBase URL.
--model <name>stringDefault model.
--allow-non-loopback <true/false>booleanAllow non-localhost URLs.

graph

data

Returns the full link graph for visualization.

local

PositionalDescription
<note-id>Center note.
FlagTypeDescription
--depth <n>numberHops out. Default 2.

stats

Returns index size and last-build info.

reasons

Lists recent items the search engine highlighted.

add-reason

PositionalDescription
<item-id>Item id.
<item-type>note, journal, task, or inbox.
<item-title>Display title.
<search-query>Query that surfaced the item.

clear-reasons

Removes all stored search reasons.

tags

Returns tags discovered while indexing.

rebuild-index

Schedules a full reindex. Returns { started: true, indexed: <n> }.

(free text)

Any other subcommand or arguments are joined with spaces and treated as a search query.

bash
memry search project plan
memry --json search "encryption nonce"

Exit codes

CodeMeaning
0Success.
1Any thrown error. Message is written to stderr.

The most common error messages are:

  • Missing <label> — a required positional is missing.
  • Invalid number: <value> or Invalid boolean: --<flag> — a flag failed to parse.
  • Pass --yes to delete a <thing> — a destructive command needs the safety flag.
  • Multiple vaults found. Choose one with memry vault use ... or run with --vault <path>.
  • No default vault configured. Open memrynote and choose Settings > Command Line > Default vault, or run with --vault <path>.

Released under the GNU GPL v3.0.