---
title: "unknown_rule: error reference · tabnas"
description: "The tabnas engine error code unknown_rule: message, diagnostic details, and recovery steps."
source: "https://tabnas.dev/errors/unknown_rule/"
---

[Error reference](https://tabnas.dev/errors/)

# `unknown_rule`

Raised by the parsing engine, so any grammar can produce it.

## Message

```
unknown rule: {rulename}
```

## Hint

```
No rule named {rulename} is defined.
```

`{placeholders}` are filled from the failing token and the details the grammar attached. The wording is informative and can change between releases: **the code is the contract**. It is what both the TypeScript and Go runtimes guarantee.

## What to do with it

1.  Read the rest of the diagnostic: `row`/`col` point at the input, `expected` lists the tokens that would have matched, and `ruleStack` shows how the parser got there.
2.  Reproduce it on its own with `tabnas diagnose --json`, which prints the whole object.
3.  Work the grammar back from the failing alternate: the [`debug-parse` skill](https://tabnas.dev/skills/) is that procedure written out, and [the errors guide](https://tabnas.dev/how-to/parse-errors/) covers raising good ones from your own grammar.

Generated from [the engine's error registry](https://github.com/tabnas/parser/blob/main/schema/error-codes.json). Engine 0.12.9.
