A LITTLE OLD SCHOOL. A LOT OF POSSIBILITY.

Your notes.
Your terminal.

A full Markdown workspace. A scriptable CLI. An MCP server.
One binary, right where you already work.

Free & open source macOS · Linux · Windows

Read the complete terminal manual

zn tui · ~/notes LOCAL FIRST
editor
# A little space to think.
Your next idea belongs here.
No new workflow. Just **your notes**,
in the terminal you already call home.
## Make yourself comfortable
- [x] Open a vault
- [x] Make it yours
- [ ] Write something good
> Plain Markdown.
> Endless possibility.
[[ideas]] [[next-big-thing]]
preview
A little space
to think.

Your next idea belongs here.
No new workflow. Just your notes, in the terminal you already call home.

Make yourself comfortable
  • [✓] Open a vault
  • [✓] Make it yours
  • [ ] Write something good
Plain Markdown.
Endless possibility.
NORMALwelcome.mdUTF-8 Markdown 18:1
Space leader Ctrl+P find :help manual :qa quit

A little window into the workspace. Pick a tab and make yourself at home.

Watch the full TUI demo

A two-minute, captioned walkthrough of real CLI capture, editing, search, split panes, task views, databases, templates, comments, settings, and server controls. The terminal manual provides the equivalent step-by-step guide.

Open or download the video

A whole workspace.
One terminal window.

From the first messy thought to the finished project. Everything has a place.

Vim in its bones.

Motions, text objects, registers, macros, and ex commands. Or a plain editor with familiar shortcuts. Markdown completion, table actions, and formatting work with your flow.

Vim or plain editing →

Room for every thought.

Tabs, nested splits, live preview, and a session that remembers where you left off. Search, note loading, and autosave run in the background. Keep a reference beside your draft.

Your workspace, restored →

From to-do to done.

Markdown checkboxes become lists, boards, and calendars. Set priorities, dates, and waiting states. Save a filter, customize your columns, and keep the plan beside the work.

:tasks list | kanban | calendar →

Find the connection.

Search titles or your whole vault. Follow wikilinks, explore backlinks, and rename tags across notes. Mark a selection to move, archive, or restore it together.

Find, connect, organize →

A little more structure.

Work with CSV files and .base databases in table or board views. Typed fields, saved filters, and sorts bring order to your collections.

Plain files. Useful views. →

Plays well with your tools.

A scriptable CLI and an MCP server come in the same binary. Capture from your shell, pipe JSON into scripts, or connect your AI assistant.

Connect your AI assistant →

A rhythm for your notes.

Daily, weekly, and monthly notes, with paths and date patterns that follow your locale. Preview, create, and edit templates. Carry unfinished tasks into today.

Templates & periodic notes →

Keep the context close.

Browse attachments and see where they are used. Rename files with reference updates. Anchor a comment to a passage, reply, and resolve the conversation beside the note.

Files & comment threads →

Make it feel like yours.

Search and edit settings without leaving the app. Preview themes, tune the terminal’s look, and remap your keys. Shared preferences keep desktop and terminal in step.

Settings, themes & keymaps →

ALSO ON BOARD Mouse support · Inline images in compatible terminals · Mermaid & math rendering · Conflict recovery

Hands on keys.
Head in the work.

Press Space and the next move reveals itself. Ctrl+G opens the command palette; F2 brings up context actions, including with Vim turned off. The built-in manual and online guide keep every feature within reach.

Explore the keybindings
which-keySPACE + …
Space f
Find a note
Space d
Open today's note
Space k
Open the Kanban board
Space z z
Enter zen mode

One thought.
One command.

Capture an idea, query your tasks, or hand a note to the desktop. Plain text in. Useful output out.

~/notesCLI / LOCAL OR SELF-HOSTED
# Catch a thought before it leaves
zn capture "Try a smaller first step" --tag ideas

# Find what needs your attention
zn task list --unchecked --json

# Keep writing in the desktop app
zn open "Project Plan.md"

Small commands. Real possibilities.

Create, read, append, search, organize folders, manage comments, and work with database rows. Use JSON for scripts or pipe text straight into a note.

--vault chooses a local folder. --server reaches a saved self-hosted connection. zn mcp gives your AI tools the same workspace.

Browse the command reference

Same notes.
Different window.

Open the same vault you use in the ZenNotes desktop app. Your Markdown files, templates, and settings come with you. Or connect to a self-hosted ZenNotes server, with live updates and conflict recovery.

No account needed for local notes. No format to escape.

The TUI does not connect directly to ZenNotes Cloud. Use a local vault or your own self-hosted server. See how the apps and sync options fit together.

Understand vaults & connections

Run your server.
From your terminal.

Version 0.6.0 adds native server management, installation-aware updates, and a friendlier CLI. Upgrade your standalone installation to get the complete toolkit.

01 / HOST

A server in one command.

Install a checksummed native server, generate a private token, and verify its vault. Manage status, logs, and lifecycle from the CLI or the TUI’s :servers menu.

zn server setup home --vault ~/Notes Server management →
02 / MAINTAIN

Updates with a way back.

Check releases, pin a version, and roll back a server upgrade. CLI updates detect whether Homebrew, Go, desktop, or a standalone install owns the executable.

zn server update home --check Updates & rollback →
03 / UNDERSTAND

Know what’s running.

Inspect workspace selection with status, check access with doctor, and change settings from a command. Scoped help, shell completion, and structured errors make scripts easier.

zn status && zn doctor CLI & automation →

Native server services target macOS and Linux. From ZenNotes desktop 2.60.0, desktop-managed copies update themselves to each new signed CLI release. Find the right upgrade path, or try the disposable sandbox.

A small binary.
A fresh start.

Get the published CLI and TUI with Homebrew, or download a ready-to-run binary for macOS, Windows, or Linux. No Go installation required.

Choose your operating system

macOS / Linux / Windows
Apple Silicon, ARM64 & x86_64

bash / zshINSTALL WITH HOMEBREW

# Install on macOS or Linux

brew install zennotes/tap/zn

# Create a home for your notes

zn init ~/Notes

# Make yourself comfortable

zn tui

Already have a vault? zn vault add ~/your-notes

Ready to leave? Press Esc, type :qa, then press Enter to save all notes and quit. :q closes the current tab.

Prefer to install with Go?

With Go 1.26 or newer installed, run:

go install github.com/ZenNotes/tui/cmd/zn@latest

Go puts the binary in its bin directory, usually ~/go/bin. Add that directory to your PATH. In bash or zsh, run:

export PATH="$PATH:$(go env GOPATH)/bin"

Add the same line to your shell profile to keep it available in new terminals. On Windows, add your Go bin directory to the Path environment variable.

Already have a “zn” command from the desktop app?

Desktop 2.51.1 and later bundle the Go CLI on macOS and Linux. Update and open the desktop app once to upgrade its managed command, or install it from Settings → CLI. You can then run zn tui without a second installation. On Windows, use the standalone download below.

Older desktop versions install the Node CLI. If zn tui reports “Unknown command”, check which installation your shell finds first:

type -a zn

Run the Homebrew version directly:

"$(brew --prefix)/bin/zn" tui

Keep each installation managed by its own installer. You can choose which command runs by changing the order of directories in your PATH.

Desktop-installed commands follow the desktop workspace; the TUI remembers its own selection. Run zn tui --workspace-source app to open the desktop workspace in the terminal. --vault and --server select a specific destination.

SELECT YOUR OPERATING SYSTEM

All releases & checksums

macOS

.tar.gz

For your Mac, whichever chip is inside.

Apple Silicon M-series · ARM64 Intel x86_64
Getting started

Extract the archive, open Terminal in the extracted folder, and run:

./zn tui

The setup wizard helps you create or open a vault. Move zn to a directory on your PATH to launch it from anywhere.

If macOS cannot verify the developer, follow Apple’s instructions. For a download you trust, System Settings → Privacy & Security may offer Open Anyway after you try to run it.

Windows

.zip

At home in Windows Terminal.

Intel / AMD x86_64 Windows on ARM ARM64
Getting started

Extract the ZIP, open PowerShell in the extracted folder, and run:

.\zn.exe tui

The setup wizard helps you create or open a vault. Put zn.exe in a folder on your user Path to launch it from anywhere.

Linux

.tar.gz

One static binary. Your favorite distro.

Intel / AMD x86_64 ARM ARM64
Getting started

Extract the archive, open a terminal in the extracted folder, and run:

./zn tui

The setup wizard helps you create or open a vault. Move zn to a directory on your PATH to launch it from anywhere.

One binary. No runtime dependencies. Every button downloads the latest published release for that platform. Upgrading from v0.5.0 or earlier? Use Homebrew, Go, or a fresh download once to get zn update.

Less between you and your thoughts.