Get the taskforge CLI on your PATH
Shipped in version 3.0.0
taskforge is the command-line version of the app. It reads and writes tasks in
your vault using the app's real parser, so recurring tasks, archiving and status
symbols behave exactly as they do in the app. It's also how most agents talk to
your vault, since the MCP server is the same binary (taskforge mcp --stdio).
Installing it
One command, same on every desktop platform. You need Node installed, but you don't need to know anything about Node.
Run it without installing anything:
npx -y taskforge-md --version
Or install it properly so taskforge works everywhere:
npm install -g taskforge-md
The npm package is named taskforge-md (the name taskforge was already taken
by an unrelated project), but the command it installs is still taskforge.
Settings → AI & Agents → Install the taskforge CLI shows you the same command with a Copy button, so you don't have to type it.
You can also download a prebuilt binary directly from the GitHub releases if you'd rather not use npm. That's the better option on a server, in CI, or in a dev container.
Homebrew is no longer a supported channel. If you previously ran
brew install azhard/tap/taskforge, runbrew uninstall taskforgeand use one of the options above. The formula only ever re-downloaded the same GitHub binary, andnpxcovers every platform including Windows.
Why the Mac app doesn't ship the CLI inside it
An earlier plan for 3.0 was to put the taskforge binary inside the Mac app
bundle, so the CLI and the app could never disagree about your task format. That
turned out to be impossible, and it's worth saying why rather than leaving you
wondering.
TaskForge for Mac ships through the Mac App Store, which means every executable inside the app has to be sandboxed. Apple's upload check rejects the whole build if any nested binary isn't. But a sandboxed helper of that kind can only run when the app itself launches it, never when you type its name in Terminal, which is the only reason you'd want a CLI in the first place. The two requirements cancel each other out.
So npm is the channel on macOS too. It's one command, it works the same
everywhere, and updating is npm update -g taskforge-md.
iPhone, iPad and Android
There's no command line on these platforms, so there's nothing to install. Your vault is just files. Install the CLI on a computer that syncs the same vault and it will work on the same tasks.
Which one should an agent use?
If you're configuring an MCP client such as Claude Desktop, use
Settings → AI & Agents → Set up MCP instead. That sheet gives you a config
block with your vault path already filled in, and it uses npx so it works
identically on every platform.
Checking the CLI and app agree
taskforge --version --json prints the version, the exact commit it was built
from, and a dialect hash:
{
"version": "1.0.0",
"git_sha": "b39c6e118e71",
"dialect_hash": "unknown"
}
The CLI and app have independent version numbers: CLI 1.0.0 can ship with
TaskForge 3.0.0. If a command behaves unexpectedly, check the installed CLI
version and update it with npm install -g taskforge-md@latest. Keep the app
current too, so it generates the latest vault contract.