Q & A

NOTE: if you are under *nix or MacOS X and you get a Permission denied error, you may need to run (in your terminal) chmod a+x concrete/bin/concrete5

Why are normal commands (like “mkdir” or “rmdir”) blocked?

This in order to make it safer to put it on a production site. I’m not saying you should put this on a production site, but at least only concrete5 CLI commands can be executed when you let the wrong person use this Add-On. 

How do I remove the protection for none-concrete5 commands (like "rmdir" or "mkdir")?

Make a config file under /application/config/generated_overrides, called “ezcli.php”. You will only need the following code in this file:


return array(

    'protected' => false


If you want to be protected again (against non concrete5 commands), either delete this file or set the value to true.

Due to potential vulnerabilities, it’s not possible to set this value through the Dashboard. You will have to make this file manually.

What does the "Terminal input" field do when I select a command (i.e. "Package Install")?

Everything you type in this field, will be appended after the selected command. So if you choose Package Install and type "--help" in the field, this command will be executed:

concrete/bin/concrete5 c5:package-install --help

You don't always need to tick checkboxes or choose a value in a select if you just want to type your code. Feel free to type "your_package_handle" for the example above instead of chosing the Package from the select. Same goes for every other command.

Why can I not use arrow up/down (in the "Terminal input" field) to scroll to history from earlier sessions?

This because only the current session is being "recorded". Nothing will be stored in a database or such (nor extracted from the terminal history). It's all javascript to not bloat your database (or make files with the history).