Skip to content

pitchfork start

  • Usage: pitchfork start [FLAGS] [ID]…
  • Aliases: s

Starts a daemon from a pitchfork.toml file

Daemons are defined in pitchfork.toml with a [daemons.<name>] section. The command waits for the daemon to be ready before returning.

Examples:

pitchfork start api           Start a single daemon
pitchfork start api worker    Start multiple daemons
pitchfork start --group backend Start all daemons in the 'backend' group
pitchfork start -l            Start all local daemons in pitchfork.toml
pitchfork start -g            Start all global daemons in config.toml
pitchfork start -a            Start all daemons (local and global)
pitchfork start api -f        Restart daemon if already running
pitchfork start api --delay 5 Wait 5 seconds for daemon to be ready
pitchfork start api --output 'Listening on'
                              Wait for output pattern before ready
pitchfork start api --http http://localhost:8080/health
                              Wait for HTTP endpoint to return 2xx
pitchfork start api --port 8080
                              Wait for TCP port to be listening

Arguments

  • [ID]… — ID of the daemon(s) in pitchfork.toml to start

Flags

  • --group <GROUP> — Start all daemons in the named group

  • -l --local — Start all local daemons in pitchfork.toml

    Aliases: --all-local

  • -g --global — Start all global daemons in ~/.config/pitchfork/config.toml and /etc/pitchfork/config.toml

    Aliases: --all-global

  • -a --all — Start all daemons (both local and global)

  • -f --force — Stop the daemon if it is already running

  • --delay <DELAY> — Delay in seconds before considering daemon ready (default: 3 seconds)

  • --output <OUTPUT> — Wait until output matches this regex pattern before considering daemon ready

  • --http <HTTP> — Wait until HTTP endpoint returns 2xx status before considering daemon ready

  • --port <PORT> — Wait until TCP port is listening before considering daemon ready

  • --cmd <CMD> — Shell command to poll for readiness (exit code 0 = ready)

  • --health-cmd <HEALTH_CMD> — Shell command to poll for health (exit code 0 = healthy)

  • --health-http <HEALTH_HTTP> — HTTP endpoint URL to poll for health

  • --health-port <HEALTH_PORT> — TCP port to probe for health (connection success = healthy)

  • --expected-port <EXPECTED_PORT> — Ports the daemon is expected to bind to (can be specified multiple times or comma-separated)

  • --bump [BUMP] — Automatically find an available port if the expected port is in use

  • -q --quiet — Suppress startup log output

  • -h --help — Print help

MIT LicenseCopyright © 2026jdx.dev