import CodeBlock from '@theme/CodeBlock'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
Installation¶
Install promptfoo using npm, npx, or Homebrew (Mac, Linux):
npm install -g promptfoo
npx promptfoo@latest
brew install promptfoo
:::note
npm and npx require Node.js >=22.22.0.
:::
Node.js runtime support¶
Promptfoo requires Node.js 22.22.0 or newer. Node.js 24 LTS is recommended.
If you are on an older release, upgrade Node.js before installing or updating promptfoo.
nvm install 24
nvm use 24
fnm install 24
fnm use 24
volta install node@24
For CI, set 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 install or update promptfoo.
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
npx promptfoo@latest --version
promptfoo --version
This should display the current version number of promptfoo.
Run Promptfoo¶
After installation, you can start using promptfoo by running:
promptfoo init
npx promptfoo@latest init
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
npx does not install promptfoo permanently — no uninstall step is needed. If you also have a global install (via npm or Homebrew), remove it using the corresponding tab.
brew uninstall promptfoo
If you installed promptfoo as a project dependency, remove it from your project:
npm uninstall promptfoo
yarn remove promptfoo
pnpm remove promptfoo
Verify removal¶
After uninstalling, confirm that promptfoo is no longer available globally:
which -a promptfoo
where 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
Remove-Item -Recurse -Force "$env:USERPROFILE\.promptfoo"
rmdir /s /q "%USERPROFILE%\.promptfoo"
If you set custom paths via environment variables, remove those directories as well:
PROMPTFOO_CONFIG_DIR— configuration and databasePROMPTFOO_CACHE_PATH— cached resultsPROMPTFOO_LOG_DIR— log files