---
title: MARKLESS_SHARED_CALL_UNBOUND
description: "a shared() call must be bound to a name: a Markless compiler error."
sidebar: { hidden: true }
search: { keywords: ["SHARED_CALL_UNBOUND","shared call unbound","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_SHARED_CALL_UNBOUND: shared() definition "<definitionName>" is called but its result is discarded.
Reads and writes of a shared instance resolve through the name the call was bound to. An unbound call names nothing, so it lowers to no client behavior while the server render still tries to run it and throws.
Bind the call and read through the name: `<binding>`.
https://markless.dev/errors/MARKLESS_SHARED_CALL_UNBOUND
```

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/semantic-graph/diagnostics.ts](https://github.com/compiled-run/markless/blob/main/packages/compiler/src/passes/semantic-graph/diagnostics.ts)
- [packages/compiler/src/compile-module.ts](https://github.com/compiled-run/markless/blob/main/packages/compiler/src/compile-module.ts)

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