8.3.x module.api.php hook_install_tasks_alter(&$tasks, $install_state)
8.0.x module.api.php hook_install_tasks_alter(&$tasks, $install_state)
8.1.x module.api.php hook_install_tasks_alter(&$tasks, $install_state)
8.2.x module.api.php hook_install_tasks_alter(&$tasks, $install_state)
8.4.x module.api.php hook_install_tasks_alter(&$tasks, $install_state)
7.x system.api.php hook_install_tasks_alter(&$tasks, $install_state)

Alter the full list of installation tasks.

This hook is invoked on the install profile in install_tasks().


$tasks: An array of all available installation tasks, including those provided by Drupal core. You can modify this array to change or replace any part of the Drupal installation process that occurs after the installation profile is selected.

$install_state: An array of information about the current installation state.

See also



Related topics


modules/system/system.api.php, line 3944
Hooks provided by Drupal core and the System module.


function hook_install_tasks_alter(&$tasks, $install_state) {
  // Replace the "Choose language" installation task provided by Drupal core
  // with a custom callback function defined by this installation profile.
  $tasks['install_select_locale']['function'] = 'myprofile_locale_selection';


girishmuraly’s picture

Probably the only two tasks that can be altered in an installation profile are:

Imports additional languages into the system if any have not yet been imported.


Performs final installation tasks (like clearing caches) and informs the user that the installation process is complete.

See more documentation here

girishmuraly’s picture

The source code of function install_tasks implies the fact that 'any' core install task after 'install_select_profile' can be altered.