Every Effect diagnostic has a default severity that determines how it appears in your editor and whether it affectsDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Effect-TS/tsgo/llms.txt
Use this file to discover all available pages before exploring further.
tsc’s exit code. You can override any diagnostic’s severity globally in tsconfig.json or locally using directive comments.
Severity levels
| Level | Symbol | Meaning |
|---|---|---|
error | ❌ | A hard error. Breaks the tsc exit code by default. |
warning | ⚠️ | A warning. Visible in editors; does not break tsc by default. |
suggestion | 💡 | A code suggestion. Shown as a hint in editors. |
message | 💬 | An informational message. Lowest visible severity. |
off | ➖ | Disabled. The diagnostic is not reported at all. |
Diagnostics marked
➖ in the diagnostics table are off by default. You must explicitly set them in diagnosticSeverity to enable them.Global severity overrides
Use thediagnosticSeverity plugin option in tsconfig.json to override the default severity for any rule.
tsconfig.json
Common patterns
Enable an off-by-default rule Rules default tooff when they are opinionated or project-specific. Enable them by assigning any active severity:
Exit code control
By default, only error-severity diagnostics affecttsc’s exit code. Use these options to adjust that behaviour:
ignoreEffectSuggestionsInTscExitCode (default: true)
ignoreEffectSuggestionsInTscExitCode (default: true)
When
true, Effect diagnostics at suggestion or message severity do not cause a non-zero tsc exit code. Diagnostics are still reported; they just won’t fail CI.Set to false if you want suggestions to be treated as build failures:ignoreEffectWarningsInTscExitCode (default: false)
ignoreEffectWarningsInTscExitCode (default: false)
When
true, Effect diagnostics at warning severity do not cause a non-zero tsc exit code. Useful when you want warning-level feedback in your editor without blocking CI.ignoreEffectErrorsInTscExitCode (default: false)
ignoreEffectErrorsInTscExitCode (default: false)
When
true, Effect error-severity diagnostics do not cause a non-zero tsc exit code. This lets you run tsc in check mode without blocking on Effect-specific errors.Directive comments
You can override diagnostic severity for a specific block or line using directive comments, without touchingtsconfig.json.
Block-level: @effect-diagnostics
A @effect-diagnostics comment applies until it is overridden by another directive or the end of the file.
Line-level: @effect-diagnostics-next-line
A @effect-diagnostics-next-line comment applies only to the immediately following line.
Directive-based enabling with skipDisabledOptimization
By default, globally disabled diagnostics are skipped entirely during analysis for performance. This means @effect-diagnostics directives cannot re-enable a rule that has "off" in diagnosticSeverity.
Set skipDisabledOptimization: true to process all diagnostics regardless of their global setting, allowing directive comments to re-enable individual rules on a per-section basis:
tsconfig.json