Difference between Terminal and Run Command


I am quite new to PhpStorm and a bit confused about the concept of Terminal and Command Line Tools Console. What is the difference? When to use what?

  • If I type: npm --version both return the value.
  • If I type: php artisan --version only command line returns it. This is a command from laravel framework...
  • If I type: npm install bower only terminal is working with it.

Is terminal exactly the same as cmd.exe?

If you could clarify that a little bit, I would be very thankful!




Terminal is the same as your system command line - PhpStorm just wraps the Terminal application specified in File | Settings | Tools | Terminal and that's it.

Command Line Tools console is more of an isolated space specifically for configured tools at File | Settings | Tools | Command Line Tool Support.
You can create aliases and use them in a short way so for example php artisan would be called as art and you can use art --version instead of a full command syntax.

You should not use Command Line Tools console as a standard terminal - that's a bit wrong and that's not what it has been designed for.

Find more information at https://www.jetbrains.com/help/phpstorm/command-line-tool-support.html ,


Hi there,

Few additions:

Command Line Tools functionality was present before Terminal has appeared in IDE (like 1.5 or maybe even 2 years earlier).

CLT is convenient for quick executing some commands that are based on supported scripts (e.g. Symfony based console) as it can offer help in completing commands. But it does not represent a fully interactive console (non-tty I think it's called) -- you may not be able to provide input (e.g. in case the command requires answering some question/making some choice).

Terminal is more of a proper console so you should be able to run text based apps (e.g. FarManager or MC) in it (at least I saw screenshots of MC running in remote SSH console).



Thanks for your answers! It helped me a lot!


Please sign in to leave a comment.