| TPZ0001 | Unknown character | lex |
| TPZ0002 | Unterminated block comment | lex |
| TPZ0003 | Unterminated string | lex |
| TPZ0004 | Invalid escape sequence | lex |
| TPZ0005 | Stray brace in string | lex |
| TPZ0006 | Template indentation mismatch | lex |
| TPZ0007 | Source name is not NFC | lex |
| TPZ0900 | Compiler resource budget exceeded | compiler |
| TPZ1001 | Semicolon in delimiter list | layout |
| TPZ2001 | TPZ2001 — source form cannot be parsed | parse |
| TPZ2001 | Unexpected token | parse |
| TPZ2002 | Unknown template tag | parse |
| TPZ2003 | Invalid assignment target | parse |
| TPZ2004 | Invalid defer body | parse |
| TPZ2005 | Malformed concurrent form | parse |
| TPZ2006 | Binding or-pattern is not available in this language mode | parse |
| TPZ2007 | Invalid exported let pattern | parse |
| TPZ2008 | Reserved module form | parse |
| TPZ2009 | Rejected module-adjacent form | parse |
| TPZ2010 | Import after non-import item | parse |
| TPZ2011 | Malformed import list | parse |
| TPZ2012 | Reserved binding name | parse |
| TPZ2013 | Reserved operator | parse |
| TPZ3001 | Unresolved module | resolve |
| TPZ3002 | Entry is outside module root | resolve |
| TPZ3003 | Module source is too large | resolve |
| TPZ3004 | Module path collision | resolve |
| TPZ3005 | Physical path escapes root | resolve |
| TPZ3006 | Import cycle | resolve |
| TPZ3007 | Runtime statement in imported module | resolve |
| TPZ3008 | Module namespace collision | resolve |
| TPZ3009 | Name is not exported | resolve |
| TPZ3010 | Imported module exports nothing | resolve |
| TPZ3011 | Mutable export is rejected | resolve |
| TPZ3012 | Namespace used as value | resolve |
| TPZ3013 | Namespace member has wrong kind | resolve |
| TPZ3014 | Private type in exported surface | resolve |
| TPZ3015 | Assignment to imported binding | resolve |
| TPZ3016 | Reserved module root | resolve |
| TPZ3017 | Duplicate import | resolve |
| TPZ3018 | Initializer reads a later binding | resolve |
| TPZ4001 | Index out of bounds | run |
| TPZ4002 | Division or remainder by zero | run |
| TPZ4003 | Range step is zero | run |
| TPZ4004 | Integer overflow | run |
| TPZ4005 | Negative integer exponent | run |
| TPZ4006 | Match missed at runtime | run |
| TPZ4007 | Assertion failed | run |
| TPZ4008 | Host input failure | run |
| TPZ4009 | Host close failure | run |
| TPZ4010 | Host output failure | run |
| TPZ4601 | Duplicate runtime map key | run |
| TPZ5001 | TPZ5001 | check |
| TPZ5001 | Runtime value guard | run |
| TPZ5002 | Unbound name | check |
| TPZ5003 | Immutable binding mutation | check |
| TPZ5004 | Wrong argument count | check |
| TPZ5005 | Value is not callable | check |
| TPZ5006 | Unknown member or field | check |
| TPZ5007 | Value is not comparable or keyable | check |
| TPZ5007 | Runtime comparison guard | run |
| TPZ5008 | Redeclaration | check |
| TPZ5008 | TPZ5008 — Duplicate record field | check |
| TPZ5009 | Recursion limit exceeded | run |
| TPZ5020 | Type could not be inferred | check |
| TPZ5021 | Non-exhaustive match | check |
| TPZ5022 | TPZ5022 | check |
| TPZ5023 | Type alias cycle | check |
| TPZ5024 | Variadic parameter is not final | check |
| TPZ5025 | Invalid qualified type | check |
| TPZ5026 | Refutable let pattern | check |
| TPZ5030 | Extern declaration problem | resolve |
| TPZ5031 | Unsupported extern ABI type | package |
| TPZ5032 | Invalid extern replay or sandbox binding | check |
| TPZ5099 | Runtime guard could not complete | run |
| TPZ5500 | Generated rule factory used as a value | check |
| TPZ5510 | Wrong number of explicit type arguments | check |
| TPZ5512 | Explicit type arguments are not allowed here | check |
| TPZ5520 | Protocol implementation violates the orphan rule | check |
| TPZ5521 | Duplicate protocol implementation | check |
| TPZ5522 | Missing protocol conformance | check |
| TPZ5523 | TPZ5523 | check |
| TPZ5524 | TPZ5524 | check |
| TPZ5530 | Protocol cannot be derived for this type | check |
| TPZ5533 | Type is not JSON encodable | check |
| TPZ5534 | Type is not JSON decodable | check |
| TPZ5602 | Duplicate key in map literal | check |
| TPZ5610 | Comprehension body type mismatch | check |
| TPZ5611 | Map comprehension body is not an entry | check |
| TPZ5612 | Empty comprehension needs a type | check |
| TPZ5710 | Or-pattern alternatives bind different names | check |
| TPZ5711 | Or-pattern binding types disagree | check |
| TPZ5712 | Constructor name used as a pattern binding | check |
| TPZ5713 | Unreachable match case | check |
| TPZ5720 | Unknown loop label | check |
| TPZ5721 | Loop break values do not agree | check |
| TPZ5801 | Form is disallowed by the selected profile | profile |
| TPZ6001 | Native emitter cannot lower this construct yet | emit |
| TPZ6002 | Native backend declined and fell back | emit |
| No code | --exports-json requires check | command |
| No code | --json is not the check diagnostic format | command |
| No code | Missing command | command |
| No code | Named metadata commands and long options rejection | command |
| No code | One JSON format selector rejection | command |
| No code | One occurrence of each option rejection | command |
| No code | One registry materialization command rejection | command |
| No code | Separate option values rejection | command |
| No code | Type checking without a mode flag rejection | command |
| No code | Dependency declarations use tables rejection | package |