---
title: MARKLESS_STATE_PROPERTY_CLASS_INSTANCE
description: "A class instance cannot be a field of a shared() or state() value: a Markless compiler error."
sidebar: { hidden: true }
search: { keywords: ["STATE_PROPERTY_CLASS_INSTANCE","state property class instance","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_STATE_PROPERTY_CLASS_INSTANCE: A class instance cannot be a field of a shared() or state() value
Only declared graph fields cross the boundary. A class instance is not one, so the rebuilt object has a hole where the field was, and any method reached through the graph arrives unbound.
Make the durable data plain fields on the same object, and put the behaviour beside them as methods (`{ index: 0, next() { ... } }`).
https://markless.dev/errors/MARKLESS_STATE_PROPERTY_CLASS_INSTANCE
```

## 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/capture-analysis.ts](https://github.com/compiled-run/markless/blob/main/packages/compiler/src/passes/capture-analysis.ts)

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