MagicMirrorOrg/MagicMirror · info

Known positions are: ${positionList.join(", ")}

Error message

Known positions are: ${positionList.join(", ")}

What it means

This is the companion line to the unknown-position warning: validateModulePositions prints the full list of valid region names so the user can pick a correct one. It fires at the same time as error 77, once per invalid position, not as a separate fault.

Source

Thrown at js/utils.js:277

			throw new ConfigError("");
		}

		// `module` (the module name) is required and must be a string
		if (typeof mod.module !== "string") {
			Log.error(`This module configuration contains errors:\n${JSON.stringify(mod, null, 2)}\nmodule: must be a string`);
			throw new ConfigError("");
		}

		// `position` is optional, but must be a string when provided
		if (mod.position !== undefined && typeof mod.position !== "string") {
			Log.error(`This module configuration contains errors:\n${JSON.stringify(mod, null, 2)}\nposition: must be a string`);
			throw new ConfigError("");
		}

		// `position` is optional, but when set it must match a known region
		if (mod.position && !positionList.includes(mod.position)) {
			Log.warn(`Module ${index} ("${mod.module}") uses unknown position: "${mod.position}"`);
			Log.warn(`Known positions are: ${positionList.join(", ")}`);
		}
	}

	Log.info(styleText("green", "Your modules structure configuration doesn't contain errors :)"));
};

module.exports = { loadConfig, getModulePositions, moduleHasValidPosition, getAvailableModulePositions, checkConfigFile, ConfigError };

View on GitHub (pinned to 4b4a59534f)

Solutions

  1. Pick a value verbatim from the list printed in this warning and fix the module's position in config.js.
  2. Refer to the MagicMirror documentation on regions for visual placement of each region.
  3. Run `npm run config:check` after fixing to confirm no more warnings.

Example fix

// log says: Known positions are: top_bar, top_left, ... , fullscreen_below
// before
position: "top"
// after
position: "top_center"
Defensive patterns

Strategy: validation

Validate before calling

// reuse the same position list as core to pre-validate:
const positionList = require("./js/module_positions") || [/* valid regions */];
console.log("Known positions:", positionList.join(", "));
// fix config.modules[].position to one of these

Prevention

When it happens

Trigger: Same as error 77 — a module config contains a position string not present in positionList; this line enumerates positionList.

Common situations: Users reading logs see this line and need to map their intended layout location to one of the enumerated MagicMirror regions.

Related errors


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