Skip to content

Installation

Install pitchfork with mise, Cargo, or a prebuilt binary. You also need the programs your daemon commands invoke; pitchfork does not bundle Node.js, Python, databases, or other application runtimes.

mise

mise manages the pitchfork binary and its version:

sh
mise use -g pitchfork

This installs it for use across projects. To pin a version for a project, use mise use pitchfork@<version> from that project instead.

Cargo

With the Rust toolchain installed:

sh
cargo install pitchfork-cli --locked

The package is named pitchfork-cli; the installed command is pitchfork. Make sure Cargo's binary directory (usually ~/.cargo/bin) is on PATH.

Release binary

Download the archive for your operating system and CPU architecture from GitHub releases, extract it, and place pitchfork (or pitchfork.exe) in a directory on PATH.

Pitchfork has builds for macOS, Linux, and Windows. Most examples in these docs use a POSIX shell. On Windows, use a compatible shell such as Git Bash; the default daemon shell is sh -c. Unix-specific features include user switching, signals, and the macOS/Linux boot integrations.

Verify the installation

sh
pitchfork --version
pitchfork --help

Continue with the quickstart to run a daemon.

Shell completion

Completion is generated by pitchfork and is separate from the shell hook that starts and stops daemons.

bash
mkdir -p ~/.local/share/bash-completion/completions
pitchfork completion bash > ~/.local/share/bash-completion/completions/pitchfork
zsh
mkdir -p ~/.zfunc
pitchfork completion zsh > ~/.zfunc/_pitchfork
fish
mkdir -p ~/.config/fish/completions
pitchfork completion fish > ~/.config/fish/completions/pitchfork.fish

Bash needs bash-completion loaded, or you can source the generated file from ~/.bashrc. For Zsh, put the following in ~/.zshrc, adding ~/.zfunc before your existing compinit call if you already have one:

zsh
fpath=(~/.zfunc $fpath)
autoload -Uz compinit
compinit

Start a new shell after configuring completion.

Optional alias

Add alias pf=pitchfork to ~/.bashrc or ~/.zshrc. For Fish, add alias pf pitchfork to ~/.config/fish/config.fish.

pf api then uses the implicit start shorthand, equivalent to pitchfork start api.

MIT LicenseCopyright © 2026jdx.dev