MagicMirrorOrg/MagicMirror · warning

WARNING! Your config is using deprecated option(s): ${usedDe

Error message

WARNING! Your config is using deprecated option(s): ${usedDeprecated.join(", ")}. Check README and Documentation for more up-to-date ways of getting the same functionality.

What it means

checkDeprecatedOptions scans the user's top-level config against the list in js/deprecated.js. Any core option present that has been deprecated triggers this warning so users migrate before removal. It does not stop the server; the option may already be ignored.

Source

Thrown at js/utils.js:83

		}
	}
	// return the list to the caller
	return modulePositions;
};

/**
 * Checks the config for deprecated options and throws a warning in the logs
 * if it encounters one option from the deprecated.js list
 * @param {object} userConfig The user config
 */
const checkDeprecatedOptions = (userConfig) => {
	const deprecated = require(`${global.root_path}/js/deprecated`);

	// check for deprecated core options
	const deprecatedOptions = deprecated.configs;
	const usedDeprecated = deprecatedOptions.filter((option) => userConfig.hasOwnProperty(option));
	if (usedDeprecated.length > 0) {
		Log.warn(`WARNING! Your config is using deprecated option(s): ${usedDeprecated.join(", ")}. Check README and Documentation for more up-to-date ways of getting the same functionality.`);
	}

	// check for deprecated module options
	for (const element of userConfig.modules) {
		if (deprecated[element.module] !== undefined && element.config !== undefined) {
			const deprecatedModuleOptions = deprecated[element.module];
			const usedDeprecatedModuleOptions = deprecatedModuleOptions.filter((option) => element.config.hasOwnProperty(option));
			if (usedDeprecatedModuleOptions.length > 0) {
				Log.warn(`WARNING! Your config for module ${element.module} is using deprecated option(s): ${usedDeprecatedModuleOptions.join(", ")}. Check README and Documentation for more up-to-date ways of getting the same functionality.`);
			}
		}
	}
};

/**
 * Loads the config file. Combines it with the defaults and returns the config
 * @returns {object} an object holding full and redacted config
 */

View on GitHub (pinned to 4b4a59534f)

Solutions

  1. Read the message to see exactly which option names are flagged.
  2. Consult the MagicMirror changelog/documentation for the replacement option or module for each deprecated key.
  3. Remove or replace the deprecated keys in config.js and restart.

Example fix

// before
{ address: "0.0.0.0", port: 8080, ipWhitelist: [...] }
// after (address deprecated in favor of bind address handling in newer versions)
{ port: 8080, address: "0.0.0.0", ipWhitelist: [...] } // follow the changelog entry for the exact replacement
Defensive patterns

Strategy: validation

Validate before calling

// check your config against the deprecation list:
const deprecated = require("./js/deprecated");
const used = deprecated.configs.filter((o) => config.hasOwnProperty(o));
if (used.length) console.error("Replace deprecated core options:", used);

Prevention

When it happens

Trigger: Config.js contains an option listed in deprecated.configs (e.g. old kioskmode/ addressing options or renamed settings) after a MagicMirror upgrade.

Common situations: Upgrading MagicMirror from an older release and keeping an old config.js; copying tutorial configs written for previous versions.

Related errors


AI-assisted analysis of MagicMirrorOrg/MagicMirror@4b4a59534f (2026-08-31). Data as JSON: /api/errors/64979d0e96261e5d. Report an issue: GitHub.