Skip to main content

Installation

Install promptfoo using npm, npx, or Homebrew (Mac, Linux):

npm install -g promptfoo
note

npm and npx require Node.js ^20.20.0 or >=22.22.0.

Node.js runtime support

Node.js 20 support ends July 30, 2026 at 00:00 UTC

Node.js 20 has reached upstream end-of-life. Promptfoo releases after the support cutoff will require Node.js 22.22.0 or newer. Node.js 24 LTS is recommended.

Upgrade Node.js before updating promptfoo.

nvm install 24
nvm use 24

For CI, update the configured Node.js version to 24. For a custom Docker image, use a current Node.js base image such as node:24. After switching runtimes, verify the active version with node --version, then update promptfoo.

To suppress standalone runtime compatibility reminders in both the CLI and Web UI, set PROMPTFOO_DISABLE_RUNTIME_WARNINGS=true. Update checks remain independent and may still explain when the active Node.js version cannot install an available package update. Use PROMPTFOO_DISABLE_UPDATE=true separately to disable those checks.

To use promptfoo as a library in your project, run npm install promptfoo --save.

Verify Installation

To verify that promptfoo is installed correctly, run:

promptfoo --version

This should display the current version number of promptfoo.

Run Promptfoo

After installation, you can start using promptfoo by running:

promptfoo init

This will guide you through the process of creating a promptfooconfig.yaml file.

For a guide on running your first evaluation, please refer to our Getting Started guide.

Uninstall Promptfoo

Remove the package

If you installed promptfoo with more than one method (for example, both npm and Homebrew), repeat the relevant steps for each.

npm uninstall -g promptfoo

If you installed promptfoo as a project dependency, remove it from your project:

npm uninstall promptfoo

Verify removal

After uninstalling, confirm that promptfoo is no longer available globally:

which -a promptfoo

If this still returns a path, you have another global installation that needs to be removed. Note that project-local installs (node_modules/.bin/promptfoo) are not detected by these commands — remove those with the project dependency step above.

Remove configuration and data (optional)

Promptfoo stores configuration, eval history, and cached results in ~/.promptfoo (%USERPROFILE%\.promptfoo on Windows). Uninstalling the package does not remove this directory.

warning

This permanently deletes your eval history, database, and cached results.

rm -rf ~/.promptfoo

If you set custom paths via environment variables, remove those directories as well:

  • PROMPTFOO_CONFIG_DIR — configuration and database
  • PROMPTFOO_CACHE_PATH — cached results
  • PROMPTFOO_LOG_DIR — log files

See Also