Available from version 1.17.0
Called right before ResourceLoaderStartUpModule::getConfig returns, to set static (not request-specific) configuration variables. Can not depend on current page, current user or current request; see below.
Define function:
public static function onResourceLoaderGetConfigVars( array &$vars, string $skin, Config $config ) { ... }
Attach hook: In extension.json:
	"Hooks": {
		"ResourceLoaderGetConfigVars": "MyExtensionHooks::onResourceLoaderGetConfigVars"
Called from: File(s): resourceloader/ResourceLoaderStartUpModule.php
Interface: ResourceLoaderGetConfigVarsHook.php

For more information about attaching hooks, see Manual:Hooks .
For examples of extensions using this hook, see Category:ResourceLoaderGetConfigVars extensions.


ResourceLoaderStartUpModule::getConfig() runs this hook. Use it to export static configuration variables to JavaScript. Values that depend on the current page, user or request state must be added through MakeGlobalVariablesScript instead.

  • &$vars - Array of variables to be added into the output of the startup module.
  • $skin - (introduced in 1.32) Current skin name to restrict config variables to a certain skin (if needed)
  • $config - (introduced in 1.34)


Register the configuration variables from the hook:

class VisualEditorHooks {
	public static function onResourceLoaderGetConfigVars( array &$vars, string $skin, Config $config ) {
		$vars['wgVisualEditor'] = [
			'disableForAnons' => $config->get( 'VisualEditorDisableForAnons' ),
			'enableExperimentalCode' => $config->get( 'VisualEditorEnableExperimentalCode' ),

		return true;

Retrieve them using mw.config , like:

conf = mw.config.get( 'wgVisualEditor' );
if ( conf.disableForAnons ) {
	// Do stuff

See also[edit]