---
title: MARKLESS_ELEMENT_GUARD_RETURN_UNSUPPORTED
description: "Element-valued guard returns are not supported: a Markless compiler error."
sidebar: { hidden: true }
search: { keywords: ["ELEMENT_GUARD_RETURN_UNSUPPORTED","element guard return unsupported","markless error"] }
pagination: false
---

**Error** from the compiler, while it builds your `.tsrx` files.

## What happened

Markless prints the message, the reason, and a suggestion:

```text
MARKLESS_ELEMENT_GUARD_RETURN_UNSUPPORTED: <componentName> uses an element-valued guard return before its template root, so the public render plan cannot preserve both outcomes.
The public render module needs one planned component root with stable locators. An earlier element-valued return creates another root whose conditional statement flow is not represented by that plan.
Rewrite the two outcomes as a root-level @if/@else template, or use return null when the guard should render nothing.
https://markless.dev/errors/MARKLESS_ELEMENT_GUARD_RETURN_UNSUPPORTED
```

Words in angle brackets change from case to case.

## How to fix it

Start with the suggestion in the message above.

This page has no guide yet. [Help write it](/contributing/improve-these-docs).

## Where it comes from

`@markless/compiler` raises this code. Source:

- [packages/compiler/src/passes/public-render/diagnostics.ts](https://github.com/compiled-run/markless/blob/main/packages/compiler/src/passes/public-render/diagnostics.ts)

Read [how to read a Markless error](/tooling/diagnostics), or go back to [all error codes](/errors).
