Workflowy CLI
Use Workflowy from your terminal, scripts, and AI agents.
The Workflowy CLI (wf) is an open-source command-line toolkit for reading, searching, organizing, and editing your Workflowy account. It includes a local cache for fast access, automation commands, machine-readable output for scripts and agents, and a built-in MCP server.
You can find the source code and latest releases in the Workflowy CLI GitHub repository.
What you can do
- Read and search your Workflowy account from a terminal
- Add, update, move, complete, and delete nodes
- Work with built-in locations such as
@inbox,@today, and@tomorrow - Use bookmarks and paths to target specific parts of your account
- Export outlines, find todos and tags, and review recent changes
- Connect multiple Workflowy accounts and keep a separate local cache for each one
- Return structured JSON for scripts and AI agents
- Connect MCP-compatible AI tools directly to Workflowy
What you need
- A Workflowy API key from workflowy.com/api-key
- A terminal on macOS, Linux, or Windows
How to install
macOS and Linux
Copy and paste this command into your terminal:
curl -fsSL https://github.com/rodolfo-terriquez/workflowy-cli/releases/latest/download/install.sh | bash
Windows
Copy and paste this command into PowerShell:
irm https://github.com/rodolfo-terriquez/workflowy-cli/releases/latest/download/install.ps1 | iex
The installer detects your operating system and processor, downloads the latest prebuilt version, and adds the wf command to your PATH when possible.
Connect your Workflowy account
Run these commands after installation:
wf login
wf cache:sync
wf doctor
wf login asks for your Workflowy API key without displaying it. wf cache:sync downloads a local copy of your outline for fast reads and searches. wf doctor checks your login, configuration, cache, and installation.
Start using the CLI
Read a location or search your account:
wf node:read @inbox
wf node:read @today --depth 3
wf search "quarterly planning"
wf targets
Add and manage items:
wf node:add @inbox "Draft project brief" --type todo
wf node:complete "@inbox/Draft project brief"
wf node:move "@today/Review roadmap" @inbox
wf node:update "@inbox/Follow up" --note "Waiting on a reply"
Commands that accept a target can use a built-in location, a bookmark returned by wf targets, a node ID, or a path such as @today/Meetings/Launch review.
Run wf --help to see the full command list, or add --help after a command for its options.
Keep local results up to date
Most read and search commands use the local SQLite cache automatically. Sync it whenever you want the latest copy of your Workflowy account:
wf cache:sync
For a one-time request that should bypass the cache, use --live on supported commands:
wf node:read @inbox --live
wf search "launch notes" --live
Connect multiple accounts
Give each account a short local name when you log in:
wf login --account personal
wf login --account work
wf account:list
wf account:switch work
wf account:current
Each account keeps its own local cache. You can select an account for a single command without changing your default:
wf --account personal cache:sync
wf --account work node:add @inbox "Follow up with the team"
Use the CLI with scripts and AI agents
Add --agent to return machine-readable JSON with structured results and errors:
wf search "project roadmap" --agent
wf node:read @today --depth 3 --agent
The CLI also includes a local MCP server:
wf mcp
Configure your MCP client to run the installed wf binary with the argument mcp. Run wf login and wf cache:sync first so the server can use the same account and cache as the CLI. See the Workflowy CLI README for configuration examples and advanced MCP options.
Update the CLI
Check for or install a newer release with:
wf self:update --check
wf self:update
Security and troubleshooting
- Use the interactive
wf loginprompt so your API key is not saved in shell history. - If search results look outdated, run
wf cache:syncor use--live. - If a command uses the wrong account, check
wf account:currentand switch withwf account:switch <name>. - If
wfis not found after installation, open a new terminal and check that the install directory is on your PATH. - Run
wf doctorfor installation, authentication, configuration, and cache checks. - For bugs and feature requests, visit the repository's GitHub Issues.
- Was this page useful? Give us feedback
- Need help? Contact Support
- Chat with other Workflowy users on our Forum or Slack group