warpdotdev/warp · error · MergeError

ambiguous_wrapper

ambiguous_wrapper

Error message

ambiguous_wrapper

What it means

Error "ambiguous_wrapper" thrown in warpdotdev/warp.

Source

Thrown at resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py:154

        document = json.loads(raw.decode("utf-8"))
    except (UnicodeError, json.JSONDecodeError) as error:
        raise MergeError("invalid_json") from error
    if not isinstance(document, dict):
        raise MergeError("invalid_config_shape")
    return document


def _detect_wrapper(document: dict[str, Any]) -> tuple[tuple[str, ...], dict[str, Any]]:
    matches: list[tuple[tuple[str, ...], dict[str, Any]]] = []
    for wrapper_path in WRAPPER_PATHS:
        value = _path_value(document, wrapper_path)
        if value is not None:
            if not isinstance(value, dict):
                raise MergeError("invalid_wrapper_shape")
            matches.append((wrapper_path, value))

    if len(matches) > 1:
        raise MergeError("ambiguous_wrapper")
    if matches:
        return matches[0]

    # Warp accepts an unwrapped map. Require object-valued entries so unrelated
    # application JSON does not silently become an MCP config.
    if all(isinstance(value, dict) for value in document.values()):
        return (), document
    raise MergeError("unrecognized_wrapper")


def load_config(path: Path) -> ParsedConfig:
    raw, mode = _read_regular_file(path, missing_ok=True)
    exists = mode is not None
    if not exists:
        return ParsedConfig(
            document={},
            servers={},
            wrapper_path=("mcpServers",),

View on GitHub (pinned to e72fd7aacb)

When it happens

Trigger: Thrown at resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py:154 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of warpdotdev/warp@e72fd7aacb (2026-08-16). Data as JSON: /api/errors/0a71c9d9a077ea7d. Report an issue: GitHub.