Skip to content
Connect an agent
Language reference

Diagnostic codes

Every error and warning code with its severity and name, and how to read one.

TL;DR

QuestionAnswer
What does the first letter mean?E is an error and stops rendering, W is a warning and never blocks it, M comes from the Mermaid converter, I from the importer, R from a team's style rules, and S from the repository settings.
What does a diagnostic carry?A code, a line, a column, a message, and a hint. Every one is reported in a single pass, so fix them all and check again.
How many codes are there?64 errors, 40 warnings, 53 Mermaid conversion codes, 12 import codes, 10 style rule codes, and 9 settings codes.
Where do the Mermaid and import codes point?Into the Mermaid or the file you gave, not into Plotwork source.

Reading a diagnostic

Codes starting with E are errors and stop rendering. Codes starting with W are warnings and never block it. Codes starting with M come from the Mermaid converter and point into the Mermaid, not into Plotwork source: M1xx codes are errors that stop a conversion, and M2xx codes are warnings about something dropped or changed. Each is explained in Migrating from Mermaid.

Errors

CodeSeverityName
E100errorsyntax
E101errorunterminatedString
E110errorunknownStatement
E111errormissingHeader
E120errorunknownNodeType
E121errorunknownTone
E122errorunknownIcon
E123errorunknownDirection
E124errorunknownGroupType
E125errorunknownProvider
E130errorduplicateId
E131errorunknownNode
E132errorunknownGroup
E133errorunclosedBlock
E134errorunexpectedClose
E135errorunknownOption
E136errorbadOptionValue
E137errorunknownMember
E138errorbadOverlay
E139erroroverlayConflict
E140errortooComplex
E300errorgitMergeIntoSelf
E301errorgitNoCommitYet
E302errorgitAlreadyPicked
E303errorgitTooManyTags
E304errorgitNoCommits
E340errorunknownClassType
E341errorbadMember
E342errorunknownRelation
E343errorbadCardinality
E344errorunsupportedArrow
E345errorpackageTooDeep
E360errorstateReservedId
E361errorstateMarkerDirection
E362errorstateMixedRegions
E363errorstateRegionOutside
E364errorstatePseudoLoop
E365errorstateContainedTransition
E366errorstateHistoryOutside
E367errorstateNoteOnMarker
E400errorjourneyNoScore
E401errorjourneyBadScore
E402errorjourneyEmpty
E403errorjourneyEmptyName
E420errormindmapMissingRoot
E421errormindmapDuplicateRoot
E422errormindmapTooDeep
E423errormindmapEmptyLabel
E424errormindmapRootBlock
E320errorganttBadDate
E321errorganttBadDuration
E322errorganttNoStart
E323errorganttNoLength
E324errorganttConflict
E325errorganttCycle
E326errorganttEndsBeforeStart
E327errorganttMilestoneSpan
E328errorganttEmpty
E329errorganttBadRange
E330errorganttNestedSection
E380errortimelineEmpty
E381errortimelineEventOutsidePeriod
E382errortimelineMisplaced
E383errortimelineEmptyLabel

Warnings

CodeSeverityName
W200warningtooDense
W201warningorphanNode
W202warningtooWide
W203warningtextShortened
W204warningsuggestIcon
W205warningsuggestGroupType
W206warningoverlayCovers
W207warningiconArtMissing
W500warningsuggestLineRole
W300warninggitRedundantMerge
W301warninggitEmptyBranch
W302warninggitDuplicateTag
W303warninggitLongFork
W320warningbigClass
W321warninginheritanceCycle
W322warningimplementsClass
W323warningduplicateRelation
W330warningstateUnreachable
W331warningstateDeadEnd
W332warningstateChoiceBranches
W333warningstateBarBranches
W334warningstateDeepNesting
W350warningjourneyFlat
W351warningjourneyActorTones
W352warningjourneyUnusedActor
W353warningjourneyLookalikeActors
W360warningmindmapBare
W361warningmindmapDeep
W362warningmindmapManyBranches
W363warningmindmapCrowdedFan
W364warningmindmapRepeatedLabel
W310warningganttTodayOutside
W311warningganttStartMoved
W312warningganttOverdue
W313warningganttDoneInFuture
W314warningganttUngrouped
W340warningtimelineEmptyPeriod
W341warningtimelineOutOfOrder
W342warningtimelineDuplicatePeriod
W343warningtimelineEmptySection

Mermaid conversion codes

CodeSeverityName
M100errormermaidNotDiagram
M101errormermaidUnsupportedType
M102errormermaidTooLarge
M103errormermaidEmpty
M104errormermaidInvalidOutput
M110errormermaidUnreadable
M200warningmermaidDroppedStyling
M201warningmermaidDroppedInteraction
M202warningmermaidDroppedLayoutHint
M203warningmermaidDroppedMeaning
M204warningmermaidMappedToNearest
M205warningmermaidLabelChanged
M206warningmermaidIdRenamed
M207warningmermaidTypeFromHint
M208warningmermaidNeutralType
M209warningmermaidDuplicateDropped
M210warningmermaidSubgraphEdge
M211warningmermaidColumnAdded
M212warningmermaidJunctionAdded
M213warningmermaidNodeInManyGroups
M214warningmermaidNoTitle
M215warningmermaidIconToken
M216warningmermaidEmptyElement
M217warningmermaidRepairedBlock
M218warningmermaidSkippedStatement
M120errormermaidGitInconsistent
M220warningmermaidGitGeneratedIds
M221warningmermaidGitParentDropped
M222warningmermaidGitMessageDropped
M240warningmermaidClassMemberRewritten
M241warningmermaidClassRelationApproximated
M242warningmermaidClassStereotype
M250warningmermaidStateNoteInside
M251warningmermaidStateReservedId
M270warningmermaidJourneyScoreAdjusted
M271warningmermaidJourneyActorsChanged
M180errormermaidMindmapManyRoots
M280warningmermaidMindmapShape
M281warningmermaidMindmapIcon
M282warningmermaidMindmapIdText
M130errormermaidGanttTime
M131errormermaidGanttUnresolved
M132errormermaidGanttDateFormat
M230warningmermaidGanttAxisFormat
M231warningmermaidGanttExcludes
M232warningmermaidGanttTickInterval
M233warningmermaidGanttToday
M234warningmermaidGanttMilestone
M235warningmermaidGanttDuration
M236warningmermaidGanttTag
M237warningmermaidGanttEndDate
M238warningmermaidGanttSetting
M260warningmermaidTimelineComment

Import codes

Codes starting with I come from import_source and point into the file you imported. I1xx codes are errors and nothing was imported; I2xx codes are warnings about something left out or changed, and the import went on. Each is explained in Importing from code and data.

CodeSeverityName
I100errorimportEmpty
I101errorimportUnreadable
I102errorimportTooLarge
I103errorimportInvalidOutput
I104errorimportNotFound
I105errorimportNoShape
I200warningimportDropped
I201warningimportSkipped
I202warningimportUnresolved
I203warningimportChanged
I204warningimportSplit
I206warningimportPartial

Style rule codes

Codes starting with R come from a team's style rules, checked by plotwork check and the GitHub Action. R1xx codes point into the settings or an organisation's saved rules and stop the check; R2xx codes point into the diagram and are errors unless the rule says "level": "warning". Each is explained in Repository settings.

CodeSeverityName
R100errorrulesInvalid
R101errorrulesBadPattern
R200errorruleDescription
R201errorruleMaxNodes
R202errorruleKind
R203errorruleIdName
R204errorruleLabelName
R205errorruleIcon
R206errorruleTone
R207errorruleTitle

Settings codes

Codes starting with S come from the repository settings (plotwork.config.json) and the diagrams generate makes from its sources. S100 points into the settings and stops the run; S200 is a warning that a default the header does not take was left out. S101 to S104 stop one generated diagram: a source the run cannot use, an overrides file that does not check, a source whose files match nothing, and a Markdown fence that is not there. S201 warns of an override whose target the import no longer draws, and S202 of one the diagram could not take.

CodeSeverityName
S100errorsettingsInvalid
S200warningsettingIgnored
S101errorsourceInvalid
S102erroroverridesInvalid
S103errorsourceNoFiles
S104errorfenceMissing
S201warningoverrideStale
S202warningoverrideRefused
S203warningoverridesMissing

See also

DocWhy
Language referenceEvery page of the reference and what each covers
Limits and quality checksThe density warnings and the two suggestions
Migrating from MermaidWhat the M codes mean and what to do about each
Importing from code and dataWhat the I codes mean and what to do about each
Repository settingsWhat the R and S codes mean, and how a team sets its defaults and rules
Writing with an agentThe fix-and-check loop an agent runs on these codes