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 →A full Markdown workspace. A scriptable CLI. An MCP server.
One binary, right where you already work.
Your next idea belongs here.
No new workflow. Just your notes, in the terminal you already call home.
Plain Markdown.
Endless possibility.
All the good stuff. A few keystrokes away.
A little window into the workspace. Pick a tab and make yourself at home.
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.
01 / THE TOOLKIT
From the first messy thought to the finished project. Everything has a place.
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 →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 →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 →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 →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. →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 →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 →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 →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
02 / STAY IN THE FLOW
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 keybindings03 / YOUR SHELL IS A WORKSPACE
Capture an idea, query your tasks, or hand a note to the desktop. Plain text in. Useful output out.
# 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"
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.
04 / FEELS LIKE HOME
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 & connectionsNEW IN v0.6.0 / MORE AT YOUR FINGERTIPS
Version 0.6.0 adds native server management, installation-aware updates, and a friendlier CLI. Upgrade your standalone installation to get the complete toolkit.
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 →
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 →
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.
05 / READY WHEN YOU ARE
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 systemmacOS / Linux / Windows
Apple Silicon, ARM64 & x86_64
# 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.
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.
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 & checksumsFor your Mac, whichever chip is inside.
Apple Silicon M-series · ARM64 Intel x86_64Extract the archive, open Terminal in the extracted folder, and run:
./zn tuiThe 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.
At home in Windows Terminal.
Intel / AMD x86_64 Windows on ARM ARM64Extract the ZIP, open PowerShell in the extracted folder, and run:
.\zn.exe tuiThe setup wizard helps you create or open a vault. Put zn.exe in a folder on your user Path to launch it from anywhere.
One static binary. Your favorite distro.
Intel / AMD x86_64 ARM ARM64Extract the archive, open a terminal in the extracted folder, and run:
./zn tuiThe 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.