Skip to main content
NoteCoveNoteCove

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
# 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.