Find your error
Installation
Command not found
The npm global bin directory isn’t on yourPATH. Add it:
.zshrc, .bashrc) to persist it. VectorLint requires Node.js 18+.
Provider and API keys
Provider not recognized
The full error:This message is stale. It lists three providers, but VectorLint accepts five:
openai, anthropic, azure-openai, gemini, and amazon-bedrock. The schema validates all five; only the error string is wrong.LLM_PROVIDER in .env or ~/.vectorlint/config.toml:
Bedrock credential mismatch
AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, or omit both to fall back to an IAM role or ~/.aws/credentials profile. AWS_REGION is always required. See LLM providers for full Bedrock setup.
Authentication errors
A401 or Invalid API key from your provider means the key is missing or LLM_PROVIDER doesn’t match the key you set. Confirm the variable is present:
.env or ~/.vectorlint/config.toml using the exact variable name for your provider: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, or AZURE_OPENAI_API_KEY:
No search provider for technical-accuracy rules
Rules usingevaluator: technical-accuracy need a search provider. Without one they return reduced-confidence results. Add Perplexity:
Configuration
No output from a run
Three causes, in order of likelihood:-
Threshold too high.
CONFIDENCE_THRESHOLDfilters everything. Test with a lower value:If findings appear, tune the threshold. See Handling false positives. -
Empty RunRules. The file matches a pattern with
RunRules=(empty), the intentional “skip this file” syntax. Check.vectorlint.ini. - Content passes. Run against a file you know has issues to confirm the rule works.
Rules not running on a file
Work through the match chain:-
The glob must match the file path.
**/*.mdmatches any Markdown file;content/docs/**/*.mddoes not matchdocs/api.md. -
RulesPathmust point at the directory containing your pack subdirectories:
- The pack name in
RunRulesmust match the directory name exactly (case-sensitive).RunRules=Acmelooks for anAcme/subdirectory insideRulesPath.
VECTORLINT.md is too large
VectorLint warns at ~4,000 tokens. A file that large degrades LLM precision and raises costs because it’s prepended to every evaluation call. Target under 800 tokens. Move detailed rules into dedicated rule pack files. Defining your style rules has an extraction prompt for distilling a full style guide.CI
CI fails with no findings
The run failed before evaluation. Check:-
The API key secret isn’t reaching the job:
-
Node.js is below 18:
-
Globs aren’t expanding. Some CI shells don’t expand unquoted globs. Resolve files explicitly:
Getting more help
- GitHub issues
- CLI reference: flags and exit codes
- Environment variables: variable names and precedence
- Project Configuration:
.vectorlint.inipattern matching