Tier Comparison

Feature Starter (Free) Pro ($7/mo, $60/yr)
Detectors All 11 All 11
Analyses/day 1 100
Analyses/month 30 100
Connected repositories 1 Unlimited
Repository visibility Public only Public and private
Files per scan 1,000 1,000
Solutions/issue 3 5
API access No Yes
GitHub Actions integration Yes Yes
Baseline snapshots Yes Yes
Web and CLI access Yes Yes
Export reports (Markdown/PDF) No Yes
Support Community (GitHub issues) Email (24-48h)

All 11 detectors run on every tier. There is no detector-level gating between Starter and Pro — see backend/src/__tests__/tier-detector-filtering.test.ts, which asserts detector count and names stay identical across tier contexts. The real differences are scan and repository volume, private-repository access, and report export.

Detectors (same on every tier)

Algorithm Limits

These apply to web and API scans only. The CLI and GitHub Action run packages/core-engine, which is pure static analysis — it detects issues but does not generate or evolve solutions, so none of the limits below affect it.

The evolutionary solution-generation engine runs a wider search on Pro, which is why Pro solutions can be marginally stronger — this is a depth setting, not a feature gate.

Parameter Free Pro
Population size 10 15
Max generations 5 10
Convergence threshold 0.03 0.03
Solutions/issue 3 5

These three parameters are applied per analysis by CodeAnalyzer, which calls EvolutionaryEngine.setConfig() with the tier’s values. They override the EVO_POPULATION_SIZE, EVO_MAX_GENERATIONS, and EVO_CONVERGENCE_THRESHOLD environment variables, so the deployed environment values for those three do not describe what actually runs.

Evolution is also capped at 30 seconds per issue (EVO_MAX_TIME_MS), the same on both tiers. On timeout the heuristic solutions generated in the first pass are returned instead, so a scan never fails for this reason.

Private Repository Access

Private-repo analysis is Pro-only and enforced in three places:

Pro users also need a GitHub Personal Access Token configured in account settings before a private repo can be cloned and analyzed.

Configuration

Abridged — name, displayName, and maxUsers are omitted from each tier.

// backend/src/config/pricing-tiers.ts
export const PRICING_TIERS = {
  free: {
    price: { monthly: 0, yearly: 0 },
    algorithm: {
      populationSize: 10,
      maxGenerations: 5,
      convergenceThreshold: 0.03,
      solutionsPerIssue: 3
    },
    analysis: {
      analysesPerDay: 1,
      analysesPerMonth: 30,
      maxFilesPerRepo: 50,
      maxReposPerAnalysis: 1,
      historyRetentionDays: 7
    },
    api: {
      enabled: false,
      requestsPerDay: 0,
      requestsPerMinute: 0,
      webhooksEnabled: false
    },
    features: { privateRepos: false },
    supportResponseTime: 'Community (GitHub issues)'
  },
  pro: {
    price: { monthly: 7, yearly: 60 },
    algorithm: {
      populationSize: 15,
      maxGenerations: 10,
      convergenceThreshold: 0.03,
      solutionsPerIssue: 5
    },
    analysis: {
      analysesPerDay: 100,
      analysesPerMonth: 100,
      maxFilesPerRepo: 500,
      maxReposPerAnalysis: -1,
      historyRetentionDays: 30
    },
    api: {
      enabled: true,
      requestsPerDay: 100,
      requestsPerMinute: 10,
      webhooksEnabled: false
    },
    features: { privateRepos: true },
    supportResponseTime: 'Email (24-48h)'
  }
};

Note: API access is not yet on the marketing site

Pro’s api.enabled: true is real and enforced (backend/src/config/tier-limits-manager.ts, canMakeApiRequest), but it isn’t listed as a Pro perk on the landing page (apps/web/src/app/claude-redesign/landing/landing.component.ts). Worth deciding whether to surface it there or treat it as unreleased/internal for now.