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
- Read the message to see exactly which option names are flagged.
- Consult the MagicMirror changelog/documentation for the replacement option or module for each deprecated key.
- 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
- Run `npm run config:check` after every core upgrade
- Read the changelog when upgrading MagicMirror
- Keep a minimal config.js and add options only when documented as current
- Search the docs for replacement options instead of copying old configs
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
- [weather] Deprecation warning: Your are using the deprecated
- [weather] Deprecation warning: Your are using the deprecated
- [weather] Deprecation warning: Please consider updating show
- WARNING! Your config for module ${element.module} is using d
- config.js.template files are deprecated and not used anymore
AI-assisted analysis of MagicMirrorOrg/MagicMirror@4b4a59534f (2026-08-31).
Data as JSON: /api/errors/64979d0e96261e5d.
Report an issue: GitHub.