Troubleshooting
Your file did not load and you are staring at a code like AT207. This page is where you find the fix.
How errors surfaceโ
When alphaTab parses your file, it collects diagnostics in three bags โ one from the lexer, one from the parser, and one from semantic analysis. On failure, alphaTab throws an AlphaTexErrorWithDiagnostics that carries every collected message. Depending on how you loaded the file, the diagnostics land in one of three places:
- Editor tooling (Monaco, VS Code): the language server surfaces each diagnostic as a red or yellow squiggle at the exact position in your source. Hover for the message.
AlphaTabApiat runtime: subscribe to theerrorevent. The error object exposeslexerDiagnostics,parserDiagnostics, andsemanticDiagnosticsโ each is anAlphaTexDiagnosticBag.- Browser console: with default settings, alphaTab logs every diagnostic through its
Logger. SetlogLeveltodebugif you want the full trace.
Every message carries an AT-code. The code is the fastest lookup key โ search this page for AT207, AT215, and so on.
Top failure modesโ
Most alphaTex files that fail to load trip one of these six patterns. Each shows the shape of the source that breaks, followed by the shape that works.
Unterminated string (AT006)โ
The lexer reached the end of the file while still inside a double-quoted string.
\title "Iron Waltz
\tempo 90
\title "Iron Waltz"
\tempo 90
Close the quote. If the quote is intentional inside a title, escape it as \" or wrap the whole title in a different delimiter.
Fret note without string (AT207)โ
A number followed by a beat separator has no string number. Fret notation on a guitar staff needs both โ write 12.2, not 12.
:4 12 14 15
:4 12.2 14.2 15.2
Add .<string> after every fret. If you meant pitched notes instead, the file now needs a \staff prelude that declares pitched notation.
String number out of range (AT208)โ
The string number in fret.string is higher than the tuning declares. A six-string tuning caps out at .6.
\tuning e5 b4 g4 d4 a3 e3
:4 5.7
\tuning e5 b4 g4 d4 a3 e3
:4 5.6
Check your \tuning length. Seven strings need seven pitches in \tuning; the string index is 1-based.
Note kind does not match the staff (AT215 / AT216 / AT218)โ
Pitched note values (c4, g#3, ...) land on a fretted staff, or fret.string values land on a pitched staff, or percussion articulations mix with either.
\track "Guitar"
:4 c4 e4 g4
\track "Guitar"
\staff{ pitched }
:4 c4 e4 g4
Match the note syntax to the staff. Guitar tab uses fret.string; pitched staves use note names with octave; percussion uses the articulation name or number.
Bad color format (AT213)โ
Colors accept #RRGGBB, #RRGGBBAA, rgb(...), rgba(...), or a named color. Anything else fails.
\track "Lead" { color "bright-red" }
\track "Lead" { color "#ff3333" }
Convert your color to hex or use one of the named CSS colors.
Legacy argument shapes (AT301 / AT303)โ
alphaTex 1.7 wraps multi-value arguments in parentheses. Older sources that list values bare still parse, but the warning fires until you upgrade the source.
\ts 3 4
\ts (3 4)
The same shape applies to any metadata tag or property that takes more than one value.
For the full list โ every code the lexer and parser can raise, its raw message template, and its severity โ see the categories below.
Every diagnostic codeโ
Writing errorsโ
These fire while alphaTab is still reading the raw characters of your file โ before it even starts making sense of bars and notes. If your quote is unclosed or an escape sequence is malformed, you land here.
AT001 โ Unexpected character at comment start, expected '//' or '/*' but found '/value'โ
Severity: Error (Lexer)
Parser message: Unexpected character at comment start, expected '//' or '/*' but found '/%s'.
AT002 โ Missing identifier after meta data startโ
Severity: Error (Lexer)
Parser message: Missing identifier after meta data start.
AT003 โ Unexpected end of fileโ
Severity: Error (Lexer)
Parser message: Unexpected end of file. Need 4 hex characters on a \uXXXX escape sequence.
AT004 โ Invalid unicode valueโ
Severity: Error (Lexer)
Parser message: Invalid unicode value. Need 4 hex characters on a \uXXXX escape sequence.
AT005 โ Unsupported escape sequenceโ
Severity: Error (Lexer)
Parser message: Unsupported escape sequence. Expected '\n', '\r', '\t', or '\uXXXX' but found '%s'.
AT006 โ Unexpected end of fileโ
Severity: Error (Lexer)
Parser message: Unexpected end of file. String not closed.
Structural errorsโ
The characters read fine, but the shape of your file does not. Missing values, unclosed groups, notes that do not fit the staff kind, arguments that do not match any known signature โ all show up here.
AT200 โ Missing beat multiplier value after '*'โ
Severity: Error (Parser)
Parser message: Missing beat multiplier value after '*'.
AT201 โ Missing duration value after ':'โ
Severity: Error (Parser)
Parser message: Missing duration value after ':'.
AT202 โ Unexpected 'value' tokenโ
Severity: Error (Parser)
Parser message: Unexpected '%s' token. Expected one of following: %s
AT203 โ Unexpected end of fileโ
Severity: Error (Parser)
Parser message: Unexpected end of file.
AT204 โ Unrecognized metadata 'value'โ
Severity: Error (Parser)
Parser message: Unrecognized metadata '%s'.
AT205 โ Unrecognized property 'value'โ
Severity: Error (Parser)
Parser message: Unrecognized property '%s'.
AT206 โ Unexpected end of fileโ
Severity: Error (Parser)
Parser message: Unexpected end of file. Group not closed.
AT207 โ Missing string for fretted noteโ
Severity: Error (Parser)
Parser message: Missing string for fretted note.
AT208 โ Note string is out of rangeโ
Severity: Error (Parser)
Parser message: Note string is out of range. Available range: 1-%s
AT209 โ Unexpected value arguments 'value', Signature: valueโ
Severity: Error (Parser)
Parser message: Unexpected %s arguments '%s', Signature: %s
AT210 โ Missing argumentsโ
Severity: Error (Parser)
Parser message: Missing arguments. Expected following arguments: %s
AT211 โ Value is out of valid rangeโ
Severity: Error (Parser)
Parser message: Value is out of valid range. Allowed range: %s, Actual Value: %s
AT212 โ Unrecogized property 'value', expected one of valueโ
Severity: Error (Parser)
Parser message: Unrecogized property '%s', expected one of %s
AT213 โ Invalid format for colorโ
Severity: Error (Parser)
Parser message: Invalid format for color
AT214 โ The 'value' effect needs value arguments per itemโ
Severity: Error (Parser)
Parser message: The '%s' effect needs %s arguments per item. With %s points, %s arguments are needed, only %s arguments found.
AT215 โ Cannot use pitched note value 'value' on value staff, please specify notes using the...โ
Severity: Error (Parser)
Parser message: Cannot use pitched note value '%s' on %s staff, please specify notes using the 'fret.string' syntax.
AT216 โ Cannot use pitched note value 'value' on percussion staff, please specify percussion...โ
Severity: Error (Parser)
Parser message: Cannot use pitched note value '%s' on percussion staff, please specify percussion articulations with numbers or names.
AT217 โ Unrecognized note value 'value'โ
Severity: Error (Parser)
Parser message: Unrecognized note value '%s'.
AT218 โ Wrong note kind 'value' for staff with note kind 'value'โ
Severity: Error (Parser)
Parser message: Wrong note kind '%s' for staff with note kind '%s'. Do not mix incompatible staves and notes.
AT219 โ Error parsing arguments: no overload matched arguments valueโ
Severity: Error (Parser)
Parser message: Error parsing arguments: no overload matched arguments %s. Signatures: %s
AT220 โ Error parsing arguments: unexpected additional argumentsโ
Severity: Error (Parser)
Parser message: Error parsing arguments: unexpected additional arguments. Signatures: %s
AT221 โ A string number can only be specified on pitched notes, use the 'fret.string' syntax to...โ
Severity: Error (Parser)
Parser message: A string number can only be specified on pitched notes, use the 'fret.string' syntax to specify the string of fretted notes. @since 1.9.0
Legacy syntax hintsโ
Your file parses, but you are using a form that pre-dates alphaTex 1.7 or leaves redundant separators in place. alphaTab still accepts these; upgrading brings your notation in line with the current shape and unlocks better editor tooling.
AT300 โ Expected no arguments, but found someโ
Severity: Warning
Parser message: Expected no arguments, but found some.
AT301 โ Metadata arguments should be wrapped into parenthesisโ
Severity: Warning
Parser message: Metadata arguments should be wrapped into parenthesis.
AT302 โ Metadata arguments should be placed before metadata propertiesโ
Severity: Warning
Parser message: Metadata arguments should be placed before metadata properties.
AT303 โ Property arguments should be wrapped into parenthesisโ
Severity: Warning
Parser message: Property arguments should be wrapped into parenthesis.
AT304 โ The beat multiplier should be specified after the beat effectsโ
Severity: Warning
Parser message: The beat multiplier should be specified after the beat effects.
AT305 โ This value should be rather specified via the propertiesโ
Severity: Warning
Parser message: This value should be rather specified via the properties.
AT306 โ This staff metadata tag should be specified as staff propertyโ
Severity: Warning
Parser message: This staff metadata tag should be specified as staff property.
AT307 โ The staff display property is not supported by the staff type, the value has no effectโ
Severity: Warning
Parser message: The staff display property is not supported by the staff type, the value has no effect. @since 1.9.0
AT400 โ The dots separating score metadata, score contents and the sync points can be removedโ
Severity: Hint
Parser message: The dots separating score metadata, score contents and the sync points can be removed.