Octarine Logo

Your notes, from the terminal

Search, read, and edit the notes in your Octarine workspaces from a shell, a script, or an AI agent. It works on your Markdown files directly, so Octarine doesn't need to be open.

$ curl -fsSL https://octarine.app/releases/cli/install.sh | sh
$ octarine search launch --fields path,line
linepath
2Projects/Pricing.md
5Projects/Launch.md
2Daily/2026-10-22.md
$ octarine task list --todo --fields text
text
Review launch plan with the team
Draft the announcement
Update [[Projects/Pricing]]
$ echo "Call Sam about the invoices" | octarine inbox capture --priority high --fields id,status
FieldValue
idINB-3
statusopen
$

Set up in a minute

  1. 01

    Install

    Download and install the latest release. On Windows, use the PowerShell command at the top of the page.

    $ curl -fsSL https://octarine.app/releases/cli/install.sh | sh
  2. 02

    Pick a workspace

    List the workspaces you have in Octarine and set a default, so you don't pass --workspace every time.

    $ octarine workspace list
    $ octarine workspace use "Notes"
  3. 03

    Run a command

    Every command has its own help page.

    $ octarine search meeting
    $ octarine note --help

Search your notes

Filter by tag, property, or folder. Use --title to match titles only, --regex for patterns, and --limit to cap the results.

$ octarine search q3 --tag work --property status=active
$ octarine note read Projects/Launch.md --section Decisions
$ octarine link backlinks Projects/Launch --fields source,line
linesource
2Projects/Pricing.md

Rename without breaking links

Renaming a note or folder updates every link that points to it, including embeds, aliases, and heading links. Add --dry-run to see what would change first.

$ octarine note rename Projects/Pricing.md Projects/Plans.md --dry-run
FieldValue
dryRuntrue
fromProjects/Pricing.md
linksUpdated1
toProjects/Plans.md
updatedProjects/Launch.md

Add to your Inbox from anywhere

Pipe text into inbox capture from a script or a shell alias. It appears in Octarine's Inbox like any other capture.

$ echo "Call Sam about the invoices" | octarine inbox capture --priority high --fields id,status
FieldValue
idINB-3
statusopen
$ octarine inbox append-to-daily INB-3

Edits that don't overwrite newer changes

Reading a note returns its revision. Pass it back with --revision when you write. If the note changed in between, the CLI refuses the write and exits with code 4.

$ rev=$(octarine note read Plan.md --json --fields revision | jq -r .data.revision)
$ echo "Shipped v2." | octarine note append Plan.md --stdin --revision "$rev" --json
{ "schemaVersion": 1, "ok": false, "error": { "code": "REVISION_CONFLICT", "currentRevision": "sha256:9c4a0d4e…", "hint": "The note changed since you read it. Re-read it and retry with --revision <currentRevision>.", "retryable": true }, "meta": {} }

Use it with AI agents

Agents run the same commands you do. With --json, every response has the same shape and every error has a stable code.

Connect over MCP

Add Octarine as an MCP server in Claude Code, Codex, or any other MCP client.

$ claude mcp add octarine -- octarine mcp --workspace "Notes"

Get JSON back

Add --json to any command. Use --fields to return only the fields you need.

$ octarine search launch --json --fields path,line

Give it the guide

agent-guide prints instructions an agent can follow to use the CLI.

$ octarine agent-guide

What's included

Run octarine <command> --help to see every option.

workspace
List workspaces and set a default
note
Create, read, edit, rename, and trash notes
folder
Create, move, and rename folders
search
Search text, titles, tags, and properties
link
Backlinks, unlinked mentions, orphans
property
Read and set note properties
task
List open or completed tasks
tag
List tags and how often they're used
inbox
Capture, triage, and file Inbox items
view, note-type, theme
Manage Views, Note Types, and Themes
config
Set a default workspace and output format
mcp
Run the CLI as an MCP server

Questions

Does Octarine need to be open?
No. The CLI reads and writes your Markdown files directly. You need Octarine installed to create a workspace, but it doesn't have to be running.
Does it connect to the internet?
Only when you run octarine update. Every other command works offline.
What happens when I trash a note?
It moves to your system trash, so you can restore it from there.
How do I update it?
Run octarine update. The download is checked against its signature and checksum before it replaces the installed binary.

Install the CLI

Requires a workspace in Octarine.

$ curl -fsSL https://octarine.app/releases/cli/install.sh | sh