Skip to main content
Complete configuration reference for greptile.json. All parameters are optional.
Looking for the recommended config format? The .greptile/ folder supports everything greptile.json does, plus cascading per-directory overrides, separate rules files, and structured rules with severity and disable-by-ID. greptile.json is still fully supported — if both exist in the same directory, .greptile/ takes precedence.
Place greptile.json in your repository root. Settings are read from the source branch of the PR and override dashboard settings.

Review Behavior

PR Filters

Control which PRs get reviewed:

Glob patterns in filters

Label, author, and branch fields accept globs alongside literals. Matching is case-insensitive.
  • * — any chars in a segment
  • ** — any chars across segments
  • ? — one char
  • {a,b}a or b
  • [, ], and leading ! are literal. dependabot[bot] works as-is. Negation is not supported.

File Patterns

Example:

Cross-Repository Context

Configure related repositories Greptile should read during reviews (e.g., shared libraries or SDKs) under the context namespace. Example:

Custom Context

customContext structure:

Review Output

Control how reviews appear:

Review Components

Control visibility of individual review components:

Review Sections

Fine-grained control over section visibility and behavior: Example:

GitHub-Specific

Common confusion: To disable the “X files reviewed, no comments” message, set statusCheck: true (not statusCommentsEnabled: false). When statusCheck is enabled, Greptile uses GitHub’s status check system instead of posting status comments.

Complete Example

greptile.json

Parameter Reference by Category

  • commentTypes - array
  • context - object (with repos array)
  • customContext - object
  • disabledLabels - array
  • excludeAuthors - array
  • excludeBranches - array
  • fileChangeLimit - number
  • fixWithAI - boolean
  • hideFooter - boolean
  • ignoreKeywords - string
  • ignorePatterns - string
  • includeAuthors - array
  • includeBranches - array
  • includeConfidenceScore - boolean
  • includeIssuesTable - boolean
  • includeKeywords - string
  • includeSequenceDiagram - boolean (controls all diagram types)
  • instructions - string
  • labels - array
  • patternRepositories - array
  • shouldUpdateDescription - boolean
  • skipReview - string (literal "AUTOMATIC")
  • statusCheck - boolean
  • statusCommentsEnabled - boolean
  • strictness - number (1, 2, or 3)
  • triggerOnDrafts - boolean
  • triggerOnUpdates - boolean
  • updateSummaryOnly - boolean
  • Section objects: summarySection, issuesTableSection, confidenceScoreSection, sequenceDiagramSection

Validation

Common mistakes:Trailing commas:
No trailing comma:
Validate your JSON:
strictness must be 1, 2, or 3:
❌ Invalid - only 1, 2, or 3 allowedcommentTypes must be valid:
✅ Valid options: logic, syntax, style, infoskipReview must be exactly “AUTOMATIC”:
❌ Invalid - must be "AUTOMATIC" exactly
✅ Correct: Repository root
❌ Wrong: Subdirectory
Check:
  1. File is in repository root
  2. File exists in the source branch of the PR
  3. JSON is valid (use jsonlint)
  4. Parameter names are spelled correctly
  5. Waiting for new PR (changes don’t affect existing reviews)
Export dashboard settings: Go to app.greptile.com/review/github → Click copy/download icon

Configuration Hierarchy

Settings priority (highest to lowest):
  1. Org enforced rules (set by admins in the dashboard — cannot be overridden)
  2. .greptile/ folder (per-directory and repo-wide settings)
  3. greptile.json in repository root
  4. Dashboard settings (organization defaults)
If both .greptile/ and greptile.json exist in the same directory, .greptile/ takes precedence and greptile.json is ignored. See Customization Overview for details.

What’s Next