The latest version of Psalm requires PHP >= 7.4 and Composer.

composer require --dev vimeo/psalm

Generate a config file:

./vendor/bin/psalm --init

Psalm will scan your project and figure out an appropriate error level for your codebase.

Then run Psalm:


Psalm will probably find a number of issues - find out how to deal with them in Dealing with code issues.

Installing plugins

While Psalm can figure out the types used by various libraries based on their source code and docblocks, it works even better with custom-tailored types provided by Psalm plugins.

Check out the list of existing plugins on Packagist. Install them with composer require --dev <plugin/package> && vendor/bin/psalm-plugin enable <plugin/package>

Read more about plugins in Using Plugins chapter.

Using the Phar

Sometimes your project can conflict with one or more of Psalm’s dependencies. In that case you may find the Phar (a self-contained PHP executable) useful.

The Phar can be downloaded from Github:

chmod +x psalm.phar
./psalm.phar --version

Alternatively, you can use Composer to install the Phar:

composer require --dev psalm/phar