{"record":{"id":"6e1b676c0a6b40e0","repo":"squidfunk/mkdocs-material","slug":"couldn-t-find-listing-configuration-data-avail","errorCode":null,"errorMessage":"Couldn't find listing configuration: {data}. Available configurations: {keys}","messagePattern":"Couldn't find listing configuration: (.+?)\\. Available configurations: (.+?)","errorType":"exception","errorClass":"PluginError","httpStatus":null,"severity":"error","filePath":"src/plugins/tags/structure/listing/manager/__init__.py","lineNumber":354,"sourceCode":"        \"\"\"\n        Resolve listing configuration.\n\n        Arguments:\n            page: The page the listing in embedded in.\n            args: The arguments, as parsed from Markdown.\n\n        Returns:\n            The listing configuration.\n        \"\"\"\n        data = yaml.safe_load(args)\n        path = page.file.abs_src_path\n\n        # Try to resolve available listing configuration\n        if isinstance(data, str):\n            config = self.config.listings_map.get(data, None)\n            if not config:\n                keys = \", \".join(self.config.listings_map.keys())\n                raise PluginError(\n                    f\"Couldn't find listing configuration: {data}. Available \"\n                    f\"configurations: {keys}\"\n                )\n\n        # Otherwise, handle inline listing configuration\n        else:\n            config = ListingConfig(config_file_path = path)\n            config.load_dict(data or {})\n\n            # Validate listing configuration\n            errors, warnings = config.validate()\n            for _, w in warnings:\n                path = os.path.relpath(path)\n                log.warning(\n                    f\"Error reading listing configuration in '{path}':\\n\"\n                    f\"{w}\"\n                )\n            for _, e in errors:","sourceCodeStart":336,"sourceCodeEnd":372,"githubUrl":"https://github.com/squidfunk/mkdocs-material/blob/e2136532f40aed98af1f6497c0cc6a3cff9f759b/src/plugins/tags/structure/listing/manager/__init__.py#L336-L372","documentation":"When resolving a listing in the tags plugin, a string `data` value is treated as a reference into `config.listings_map` (listings defined under `plugins.tags.listings` in mkdocs.yml). If the key is missing, `_resolve` raises this PluginError listing all available configuration keys so the developer can correct the reference.","triggerScenarios":"A page embeds a listing with `data: <name>` whose name has no matching entry in the `listings` plugin option; the listings YAML is indented wrong so the map is empty; the referenced listing was renamed or removed.","commonSituations":"Typo in the listing name; forgetting to define `listings:` in the tags plugin config before referencing it from pages; multi-document refactors renaming listings; copying examples that assume custom listing names.","solutions":["Define the referenced listing under `plugins.tags.listings` in mkdocs.yml, or fix the name to match an existing key (the error lists valid keys).","Check YAML indentation so each listing sits directly under `listings:` with a unique key.","Update pages' `data:` references after renaming a listing.","Use inline listing configuration (`data` as a mapping) instead of a named reference for one-off listings."],"exampleFix":"# before (mkdocs.yml)\n- tags:\n    listings: []\n# page: data: posts\n\n# after\n- tags:\n    listings:\n      posts:\n        scope: ...\n","handlingStrategy":"validation","validationCode":"# ensure every data: reference in pages has a matching listings key\nrefs = collect_listing_refs_from_pages(docs_dir)\ndefined = set((config.plugins['tags'].config.listings or {}).keys())\nmissing = refs - defined\nassert not missing, f\"Undefined listings referenced in pages: {missing}. Defined: {sorted(defined)}\"","typeGuard":null,"tryCatchPattern":"from mkdocs.exceptions import PluginError\ntry:\n    manager.replace(...)\nexcept PluginError as e:\n    log.error(f\"Listing reference problem: {e}\")\n    raise SystemExit(1)","preventionTips":["Define every named listing under plugins.tags.listings before referencing it","Grep pages for `data:` listing references and cross-check keys after renames","Validate YAML indentation so listings land inside the listings map"],"tags":["mkdocs-material","tags-plugin","configuration","listing"],"backgroundTag":"unknown-config-key","analyzedSha":"e2136532f40aed98af1f6497c0cc6a3cff9f759b","analyzedAt":"2026-08-29T11:20:04.299Z","schemaVersion":2},"datasetVersion":"2026-08-29T12:17:43.993Z"}