# Dealing with code issues Psalm has a large number of [code issues](issues.md). Each project can specify its own reporting level for a given issue. Code issue levels in Psalm fall into three categories:
error
This will cause Psalm to print a message, and to ultimately terminate with a non-zero exit status
info
This will cause Psalm to print a message
suppress
This will cause Psalm to ignore the code issue entirely
The third category, `suppress`, is the one you will probably be most interested in, especially when introducing Psalm to a large codebase. ## Suppressing issues There are two ways to suppress an issue – via the Psalm config or via a function docblock. ### Config suppression You can use the `` tag in the config file to influence how issues are treated. Some issue types allow the use of `referencedMethod` and `referencedClass` to isolate known trouble spots. ```xml ``` ### Docblock suppression You can also use `@psalm-suppress IssueName` on a function's docblock to suppress Psalm issues e.g. ```php /** * @psalm-suppress InvalidReturnType */ function (int $a) : string { return $a; } ``` You can also suppress issues at the line level e.g. ```php /** * @psalm-suppress InvalidReturnType */ function (int $a) : string { /** * @psalm-suppress InvalidReturnStatement */ return $a; } ```