warpdotdev/warp · error · MergeError
invalid_config_shape
invalid_config_shape
Error message
invalid_config_shape
What it means
Error "invalid_config_shape" thrown in warpdotdev/warp.
Source
Thrown at resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py:140
flags |= os.O_NOFOLLOW
try:
descriptor = os.open(path, flags)
with os.fdopen(descriptor, "rb") as file:
raw = file.read(MAX_CONFIG_BYTES + 1)
except OSError as error:
raise MergeError("config_unavailable") from error
if len(raw) > MAX_CONFIG_BYTES:
raise MergeError("config_too_large")
return raw, stat.S_IMODE(metadata.st_mode)
def _decode_document(raw: bytes) -> dict[str, Any]:
try:
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 unrelatedView on GitHub (pinned to e72fd7aacb)
When it happens
Trigger: Thrown at resources/bundled/skills/tui-migrate-setup/scripts/merge_mcp_config.py:140 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/317d009423e566ca.
Report an issue: GitHub.