Troubleshooting
No config file found
Cause: Current directory contains neither specmatic-linter.yaml nor specmatic-linter.yml.
Fix: Run from the config directory or pass --config path/to/config.yaml.
Multiple profiles are available
Cause: Config has several profiles and none is named default.
Fix: Pass --profile <name> or rename the normal profile to default.
No API description files were provided
Cause: No target argument was supplied.
Fix: Pass one or more files:
docker run --rm \
-v "$(pwd):/usr/src/app" \
-w /usr/src/app \
specmatic/enterprise \
lint openapi.yaml
Glob does not match files
Specmatic preserves an unmatched glob, then reports the missing target during linting. Check the path relative to the working directory and quote the pattern:
docker run --rm \
-v "$(pwd):/usr/src/app" \
-w /usr/src/app \
specmatic/enterprise \
lint "specs/**/*.yaml"
Report exists but command failed
Expected behavior. Specmatic writes the report, then exits 1 when at least one error-level violation exists. Review report details or temporarily change adoption-stage rules to warn.
Report is not in current directory
Reports are created relative to the linter config directory. With central Git configuration, that directory is inside .specmatic-linter/repos/. Use the exact path printed by the command.
Central config repository cannot be fetched
Check:
- repository URL and default branch;
- network access from the process or container;
CENTRAL_CONFIG_REPO_TOKENpresence for private HTTPS repositories;- token read permission; and
- repo-relative
--configpath.
Configuration is rejected
Specmatic rejects unknown config keys, invalid severities, missing profiles, and circular profile inheritance. Read complete error output; it identifies invalid field or reference.
For rule, node-type, assertion, and reference failures, see OpenAPI Troubleshooting.