Skip to main content
TaskForge 3.0: your AI can read your tasks.
← What's new

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, run brew uninstall taskforge and use one of the options above. The formula only ever re-downloaded the same GitHub binary, and npx covers 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.