CLI Commands
The NoteCove CLI ships inside the desktop app. Install it from Tools → CLI → Install CLI…
Authentication
# Initialize access for the current directory
notecove init --profile <profile-id> --project <slug>
# Multiple projects
notecove init --profile <id> --project PROJ1 --project PROJ2
# All projects
notecove init --profile <id> --all-projects
# With notes access
notecove init --profile <id> --project <slug> --notes
# Folder-scoped notes
notecove init --profile <id> --project <slug> --notes --folder "Documents"
# All notes across all SDs
notecove init --profile <id> --all-projects --all-notes
# Global config (for Claude Desktop, etc.)
notecove init --global --profile <id> --project <slug> --notes
Notes
# Create
notecove note create --title "Title"
notecove note create --title "Title" --folder "Work"
notecove note create --content "# Title\n\nBody text"
# List
notecove note list
notecove note list --folder "Work" --limit 10
# Search
notecove note search "query"
# Similar notes (semantic search required)
notecove note similar <note-id>
notecove note similar <note-id> --limit 5
notecove note similar <note-id> --json
# Show
notecove note show <note-id>
notecove note show <note-id> --format markdown
notecove note show <note-id> --format markdown-with-comments
notecove note show <note-id> --json
# Edit
notecove note edit <note-id> --content-file <path> --format markdown
notecove note edit <note-id> --append-file <path> --format markdown
# Comments
notecove note comments list <note-id>
notecove note comments add <note-id> "content" --user <name>
notecove note comments reply <note-id> <thread-id> "content" --user <name>
notecove note comments add <note-id> --format prosemirror "<ProseMirror JSON>"
notecove note comments list <note-id> --fields contentJson
# Open in desktop app
notecove open <note-id>
Tasks
# Create
notecove task create "Title" --project PROJ
notecove task create "Title" --project PROJ --priority 3 --folder "Work"
notecove task create "Title" --project PROJ --parent PROJ-42 --content "body" --content-format markdown
# List
notecove task list --project PROJ
notecove task list --project PROJ --state "In Progress" --limit 10
# Show
notecove task show PROJ-42 --project PROJ
notecove task show PROJ-42 --project PROJ --json
# Tree (show hierarchy)
notecove task tree PROJ-42 --project PROJ
# Update
notecove task change PROJ-42 --state "Done" --project PROJ
notecove task change PROJ-42 --priority 5 --title "New title" --project PROJ
notecove task change PROJ-42 --block PROJ-10 --project PROJ
# Ready (not blocked, not completed)
notecove task ready --project PROJ
notecove task ready --project PROJ --priority 3
# Search
notecove task search "query" --project PROJ
# Similar tasks (semantic search required)
notecove task similar PROJ-42 --project PROJ
notecove task similar PROJ-42 --project PROJ --limit 5
notecove task similar PROJ-42 --project PROJ --json
# Delete
notecove task delete PROJ-42 --project PROJ
notecove task delete PROJ-42 --project PROJ --force
# Comments
notecove task comments list PROJ-42 --project PROJ
notecove task comments add PROJ-42 "content" --project PROJ
notecove task comments reply PROJ-42 <thread-id> "content" --project PROJ
notecove task comments add PROJ-42 --format prosemirror "<ProseMirror JSON>" --project PROJ
notecove task comments list PROJ-42 --fields contentJson --project PROJ
Search
# Full-text search
notecove search "query"
notecove search "query" --type notes
notecove search "query" --type tasks
notecove search "query" --limit 20 --offset 0
# Semantic search (requires semantic search enabled in Settings > Search)
notecove search "distributed systems" --semantic
notecove search "project management" --semantic --limit 10
# Date filters
notecove search "query" --created-after 2024-01-01 --created-before 2024-12-31
notecove search "query" --modified-after 2025-01-01
# Tag filters
notecove search "query" --tag work --tag urgent
notecove search "query" --exclude-tag archive
# Combine mode
notecove search "query" --tag work --tag personal --combine or
# Task-specific filters
notecove search "query" --terminal # completed tasks only
notecove search "query" --active # active tasks only
notecove search "query" --min-priority 3 --max-priority 5
notecove search "query" --project PROJ --state "In Progress"
notecove search "query" --task-type Bug
notecove search "query" --has-parent
notecove search "query" --no-parent
notecove search "query" --has-blockers
# Sort
notecove search "query" --sort created --sort-dir asc
Folders
# List
notecove folder list
notecove folder list --json
# Create
notecove folder create "Name"
notecove folder create "Name" --parent <parent-id>
notecove folder create "Name" --parent <parent-id> --json
Projects
# List / show (show prints states, types, boards and columns with their ids)
notecove project list
notecove project show PROJ
# Create / archive / restore
notecove project create "My Project" --slug PROJ
notecove project archive PROJ
notecove project restore PROJ
# Project settings
notecove project change PROJ --name "New name" --description "What this is for"
notecove project change PROJ --default-folder <folder-id>
notecove project change PROJ --no-default-folder --clear-description
notecove project change PROJ --field-visibility assignee=true --field-visibility tags=false
# States and types
notecove project change PROJ --add-state --state-id review --state-name "In Review" --state-color "#8B5CF6"
notecove project change PROJ --remove-type <type-id>
Boards
Boards are the Kanban views of a project. A state-based board has one column per project state; a custom board has columns that each match tasks by a filter. Board and column ids are generated by the app: read them from project board list / show (or --json) rather than inventing them.
notecove project board list PROJ
notecove project board show PROJ <board-id>
# New boards
notecove project board create PROJ --name "Flow" # state-based, one column per state
notecove project board create PROJ --name "Triage" --type custom --columns-file columns.json
# Change a board
notecove project board change PROJ <board-id> --name "Renamed"
notecove project board change PROJ <board-id> --columns-file columns.json # replaces ALL columns
notecove project board change PROJ <board-id> --type custom --columns-file columns.json
# Change one column at a time
notecove project board change PROJ <board-id> --add-column "Urgent" --filter-priority 1,2 --no-filter-terminal
notecove project board change PROJ <board-id> --update-column <column-id> --column-name "Hot" --color "#EF4444"
notecove project board change PROJ <board-id> --update-column <column-id> --clear-filter
notecove project board change PROJ <board-id> --remove-column <column-id>
notecove project board delete PROJ <board-id>
Column filter flags: --filter-state, --filter-type, --filter-tag, --filter-priority (1-5), --filter-blocker (none, all-completed, has-uncompleted), --filter-terminal / --no-filter-terminal, --filter-depth (root, leaf, parent, has-parent, has-grandchildren, has-great-grandchildren). List-valued flags take comma-separated values. --filter-json '<object>' accepts a raw filter and is merged with the flags (flags win per key); filter keys the CLI doesn’t know about are saved as-is with a warning.
notecove project board create --json-format and board change --json-format print the exact --columns-file input schema and the output shape. See Configure Project Boards from the CLI for worked examples.
Profiles
notecove profiles
Import
# Import from Apple Notes
notecove import apple-notes
Remote access
# Automated SSH tunnel
notecove serve --ssh user@host
# With extra SSH options
notecove serve --ssh user@host --ssh-opts "-i ~/.ssh/key -p 2222"
# Print manual commands
notecove serve
MCP server
# Stdio mode (for Claude Desktop, Claude Code)
notecove mcp
# Print config snippet
notecove mcp --print-config
# Port mode (HTTP + bearer token)
notecove mcp --port 3456
notecove mcp --port 3456 --host 0.0.0.0
# Build extension bundle
notecove mcp --package
Diagnostics
# Show connection status and scope
notecove debug
# Version
notecove --version
Global flags
| Flag | Description |
|---|---|
--json |
Output as JSON |
--project <slug> |
Target project (required when authorized for multiple projects and the task argument is a slug like PROJ-abc; not required when passing a full task ID) |
--help |
Show help |
Environment variables
| Variable | Description |
|---|---|
NOTECOVE_DEBUG |
Enable debug logging |
NOTECOVE_BIN |
Override CLI binary path |
NOTECOVE_CONFIG |
Override config file path |
Configuration file
A .notecove file is created by notecove init in the working directory. It contains access credentials and scope. Treat it as a secret — do not commit to version control.
Lookup order: current directory → parent directories → ~/.config/notecove/.notecove → ~/.notecove.