{"record":{"id":"317d009423e566ca","repo":"warpdotdev/warp","slug":"invalid-config-shape","errorCode":"invalid_config_shape","errorMessage":"invalid_config_shape","messagePattern":"invalid_config_shape","errorType":"exception","errorClass":"MergeError","httpStatus":null,"severity":"error","filePath":"resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py","lineNumber":140,"sourceCode":"        flags |= os.O_NOFOLLOW\n    try:\n        descriptor = os.open(path, flags)\n        with os.fdopen(descriptor, \"rb\") as file:\n            raw = file.read(MAX_CONFIG_BYTES + 1)\n    except OSError as error:\n        raise MergeError(\"config_unavailable\") from error\n    if len(raw) > MAX_CONFIG_BYTES:\n        raise MergeError(\"config_too_large\")\n    return raw, stat.S_IMODE(metadata.st_mode)\n\n\ndef _decode_document(raw: bytes) -> dict[str, Any]:\n    try:\n        document = json.loads(raw.decode(\"utf-8\"))\n    except (UnicodeError, json.JSONDecodeError) as error:\n        raise MergeError(\"invalid_json\") from error\n    if not isinstance(document, dict):\n        raise MergeError(\"invalid_config_shape\")\n    return document\n\n\ndef _detect_wrapper(document: dict[str, Any]) -> tuple[tuple[str, ...], dict[str, Any]]:\n    matches: list[tuple[tuple[str, ...], dict[str, Any]]] = []\n    for wrapper_path in WRAPPER_PATHS:\n        value = _path_value(document, wrapper_path)\n        if value is not None:\n            if not isinstance(value, dict):\n                raise MergeError(\"invalid_wrapper_shape\")\n            matches.append((wrapper_path, value))\n\n    if len(matches) > 1:\n        raise MergeError(\"ambiguous_wrapper\")\n    if matches:\n        return matches[0]\n\n    # Warp accepts an unwrapped map. Require object-valued entries so unrelated","sourceCodeStart":122,"sourceCodeEnd":158,"githubUrl":"https://github.com/warpdotdev/warp/blob/e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc/resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py#L122-L158","documentation":"Error \"invalid_config_shape\" thrown in warpdotdev/warp.","triggerScenarios":"Thrown at resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py:140 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e72fd7aacbbb2236d9b3be2aad7e7178fe94b4bc","analyzedAt":"2026-08-16T08:27:25.381Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}