{"licence":"CC BY 4.0","licenceUrl":"https://creativecommons.org/licenses/by/4.0/","citation":"Ambera Forge, AI code review, October 2026","report":"https://forge.ambera.app/sectors/ai-code-review/2026-10","note":"Counts are over the companies Forge read in this sector during the month, each with its denominator. Themes and capabilities are the words the reading listed; a theme with no declared match shares no word with anything a company declares, which is not the same as no product doing it. Carried market-size figures are their publishers’ and are not redistributed here.","version":2,"monthKey":"2026-10","sector":{"slug":"ai-code-review","name":"AI code review","scope":"Bots that read a pull request and comment on it before a person does."},"coverage":{"entities":7,"readEntities":7,"neverRead":0,"readInMonth":3,"lastReadAt":"2026-10-26T06:00:53.136Z"},"withheldReason":null,"declaredCapabilities":[{"name":"One-click fixes","listing":2,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70","cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"Agentic Toolbox (CLI skills for coding agents)","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"AI code review (Graphite Agent)","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"AI PR reviews (GitHub/GitLab/Bitbucket/Azure DevOps)","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"AI-powered PR code review (GitHub/GitLab)","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"automated test generation alongside review","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Bitbucket Cloud/Data Center support","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"Built-in pre-merge checks","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"Business requirements alignment (tickets/specs)","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"Change Stack","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"CI failure fixes","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"CLI and VS Code extension","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"Code governance / AI-tool oversight for leaders","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"Coding standards enforcement (Rules system)","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"Coding-agent loops","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"Credit-based review tiers (Base, Plus, Apex)","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"Cross-file bug detection","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"Cross-repo codebase context engine","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"dependency and security scanning add-ons (Snyk)","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Enterprise SSO and BYOLLM","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"Free tier for OSS projects","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"Full-codebase semantic/dependency graph indexing","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"GitHub and GitLab integration","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"GitHub integration","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"IDE integration (VS Code, Cursor, JetBrains)","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"IDE-level inline AI code analysis (Cursor Bugbot, Copilot review)","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Issue Planner","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"Learnings","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"Multi-agent pull request review","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"per-committer or free solo-tier pricing","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Per-seat pricing with free tier for open source","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"PR history indexing for issue relevance","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"PR-level AI review (CodeRabbit, Qodo, Graphite Diamond)","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Pre-PR / local IDE review","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"]},{"name":"provenance/attestation checklists","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Review automations/customizations","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"Security scanning (secrets, SAST, IaC, dependencies, licenses)","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"self-hosted/privacy-first review (PR-Agent)","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Self-hosting / air-gapped VPC deployment","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"Sentry.io production issue monitoring/auto-fix","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]},{"name":"SOC2 Type II, SSO/SAML","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"]},{"name":"Stack-aware merge queue","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"Stacked pull requests","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"structured review/evidence packets","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"]},{"name":"Unified PR inbox","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"]},{"name":"Unit-test generation","listing":1,"denominator":6,"entityIds":["cmtkp2v5a0003psp7ipsx1w70"]},{"name":"Zero code retention / no training on customer code","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"]}],"complaintThemes":[{"name":"Usage limits and caps","listing":4,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh","cmuohfj0q0016ofmywjps3i00","cmuohfj6d001aofmyxe15xg7l","cmuohfj90001cofmy66ga0ptx"],"phrases":["comment volume / nitpick flooding","Overage-based pricing breaks down at high PR volume","Pricing complexity from credit-based metering","review bottleneck from AI-inflated PR volume","review comment noise/volume without severity tuning"]},{"name":"Accuracy and output quality","listing":2,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh","cmuohfj6d001aofmyxe15xg7l"],"phrases":["cross-tool false-positive rate disputes","false positives eroding trust","High false-positive/nitpick rate"]},{"name":"Customer support","listing":2,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh","cmuohfj3e0018ofmyhbl5d8f6"],"phrases":["No Azure DevOps support","No Bitbucket Server support","Restricted platform support (GitHub/GitLab only)"]},{"name":"Free tier, trial and paywalled features","listing":2,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o","cmuohfj0q0016ofmywjps3i00"],"phrases":["Loss of a permanent free tier (trial-only)","No free tier for open source"]},{"name":"agent PRs receiving little to no human review","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"],"phrases":["agent PRs receiving little to no human review"]},{"name":"Bugs and reliability","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"],"phrases":["weakened tests masking broken changes"]},{"name":"Complexity, setup and learning curve","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"],"phrases":["Learning curve for stacked PR workflow"]},{"name":"confidence scores perceived as unreliable","listing":1,"denominator":6,"entityIds":["cmuohfj6d001aofmyxe15xg7l"],"phrases":["confidence scores perceived as unreliable"]},{"name":"Diff-level analysis, not full-repo context","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"],"phrases":["Diff-level analysis, not full-repo context"]},{"name":"Expensive at scale for large teams","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"],"phrases":["Expensive at scale for large teams"]},{"name":"Integrations and API","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"],"phrases":["GitHub-only integration"]},{"name":"Limited to changed-file diffs, weak whole-codebase reasoning","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"],"phrases":["Limited to changed-file diffs, weak whole-codebase reasoning"]},{"name":"loss of code comprehension when 'vibe' reviewing","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"],"phrases":["loss of code comprehension when 'vibe' reviewing"]},{"name":"No automated test generation","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"],"phrases":["No automated test generation"]},{"name":"Price level","listing":1,"denominator":6,"entityIds":["cmuohfj0q0016ofmywjps3i00"],"phrases":["Cost seen as above average vs. competitors (e.g., CodeRabbit)"]},{"name":"Python-centric, weaker on other languages","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"],"phrases":["Python-centric, weaker on other languages"]},{"name":"real issues buried among noise","listing":1,"denominator":6,"entityIds":["cmuohfj6d001aofmyxe15xg7l"],"phrases":["real issues buried among noise"]},{"name":"Requires cultural/workflow shift to adopt","listing":1,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o"],"phrases":["Requires cultural/workflow shift to adopt"]},{"name":"reviewers get disabled or ignored ('cry wolf')","listing":1,"denominator":6,"entityIds":["cmuohfj6d001aofmyxe15xg7l"],"phrases":["reviewers get disabled or ignored ('cry wolf')"]},{"name":"trusting AI to review AI-generated code","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"],"phrases":["trusting AI to review AI-generated code"]}],"complaintVocabularyVersion":2,"whiteSpace":{"rows":[{"theme":{"name":"Usage limits and caps","listing":4,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh","cmuohfj0q0016ofmywjps3i00","cmuohfj6d001aofmyxe15xg7l","cmuohfj90001cofmy66ga0ptx"],"phrases":["comment volume / nitpick flooding","Overage-based pricing breaks down at high PR volume","Pricing complexity from credit-based metering","review bottleneck from AI-inflated PR volume","review comment noise/volume without severity tuning"]},"declared":[{"name":"Credit-based review tiers (Base, Plus, Apex)","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"],"sharedWords":["credit"]}],"answeredBy":"price"},{"theme":{"name":"Accuracy and output quality","listing":2,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh","cmuohfj6d001aofmyxe15xg7l"],"phrases":["cross-tool false-positive rate disputes","false positives eroding trust","High false-positive/nitpick rate"]},"declared":[],"answeredBy":"capability"},{"theme":{"name":"Customer support","listing":2,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh","cmuohfj3e0018ofmyhbl5d8f6"],"phrases":["No Azure DevOps support","No Bitbucket Server support","Restricted platform support (GitHub/GitLab only)"]},"declared":[{"name":"Bitbucket Cloud/Data Center support","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"],"sharedWords":["support"]}],"answeredBy":"capability"},{"theme":{"name":"Free tier, trial and paywalled features","listing":2,"denominator":6,"entityIds":["cmuohfixv0014ofmy2dwmaj7o","cmuohfj0q0016ofmywjps3i00"],"phrases":["Loss of a permanent free tier (trial-only)","No free tier for open source"]},"declared":[{"name":"dependency and security scanning add-ons (Snyk)","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"],"sharedWords":["ons"]},{"name":"Free tier for OSS projects","listing":1,"denominator":6,"entityIds":["cmtshhbt80002psp7vq7tcgnh"],"sharedWords":["free"]},{"name":"per-committer or free solo-tier pricing","listing":1,"denominator":6,"entityIds":["cmuohfj90001cofmy66ga0ptx"],"sharedWords":["free"]},{"name":"Per-seat pricing with free tier for open source","listing":1,"denominator":6,"entityIds":["cmuohfj3e0018ofmyhbl5d8f6"],"sharedWords":["free"]}],"answeredBy":"price"}],"unansweredCount":1,"belowFloor":16},"entities":[{"id":"cmtkp2v5a0003psp7ipsx1w70","slug":"coderabbit","name":"CodeRabbit","kind":"competitor","site":"https://www.coderabbit.ai","lastWatchedAt":"2026-10-01T06:19:47.329Z","addedBy":"definition"},{"id":"cmtshhbt80002psp7vq7tcgnh","slug":"greptile","name":"Greptile","kind":"competitor","site":"https://www.greptile.com","lastWatchedAt":"2026-10-26T06:00:53.136Z","addedBy":"definition"},{"id":"cmuohfixv0014ofmy2dwmaj7o","slug":"graphite","name":"Graphite","kind":"competitor","site":"https://graphite.com","lastWatchedAt":"2026-09-30T19:18:09.995Z","addedBy":"definition"},{"id":"cmuohfj0q0016ofmywjps3i00","slug":"qodo","name":"Qodo","kind":"competitor","site":"https://qodo.ai","lastWatchedAt":"2026-09-30T19:18:09.995Z","addedBy":"definition"},{"id":"cmuohfj6d001aofmyxe15xg7l","slug":"noise-from-review-bots","name":"Noise from review bots","kind":"discourse","site":null,"lastWatchedAt":"2026-09-30T19:18:09.995Z","addedBy":"definition"},{"id":"cmuohfj90001cofmy66ga0ptx","slug":"small-teams-merging-agent-written-code","name":"Small teams merging agent-written code","kind":"segment","site":null,"lastWatchedAt":"2026-09-30T19:18:09.995Z","addedBy":"definition"},{"id":"cmuohfj3e0018ofmyhbl5d8f6","slug":"sourcery","name":"Sourcery","kind":"competitor","site":"https://sourcery.ai","lastWatchedAt":"2026-09-30T19:18:09.995Z","addedBy":"definition"}],"entrants":{"placed":[],"sighted":[{"name":"Claude Code Review","kind":"competitor","site":"https://claude.ai/","sourceUrl":"https://www.greptile.com/content-library/best-ai-code-review-tools","firstSeenAt":"2026-10-05T06:08:01.532Z"},{"name":"Cursor Bugbot","kind":"competitor","site":"https://cursor.com/","sourceUrl":"https://codepulsehq.com/guides/ai-code-review-bots-2026","firstSeenAt":"2026-10-05T06:08:01.532Z"},{"name":"Macroscope","kind":"competitor","site":"https://macroscope.so/","sourceUrl":"https://codeant.ai/blogs/best-ai-code-review-tools","firstSeenAt":"2026-10-05T06:08:01.532Z"},{"name":"Devin Review","kind":"competitor","site":"https://devin.ai/","sourceUrl":"https://onehorizon.ai/blog/ai-powered-code-review-tools","firstSeenAt":"2026-10-05T06:08:01.532Z"},{"name":"Sentry AI Code Review (Seer)","kind":"competitor","site":"https://sentry.io/","sourceUrl":"https://sentry.io/product/seer/ai-code-review/","firstSeenAt":"2026-10-05T06:08:01.532Z"},{"name":"Ellipsis","kind":"adjacent","site":"https://ellipsis.dev/","sourceUrl":"https://decode.agency/article/ai-code-review-tools/","firstSeenAt":"2026-10-05T06:08:01.532Z"}]},"entries":{"observed":10,"inference":2,"sourceBroken":9,"byTag":[{"tag":"FACT","count":7},{"tag":"COMPANY CLAIM","count":2},{"tag":"USER OPINION","count":1}],"byCategory":[{"category":"PRODUCT","count":6},{"category":"PRICING","count":4}]},"pricing":{"readEntities":7,"withPricing":5,"changesInMonth":4,"companiesChangedInMonth":2,"withheldReason":null,"companies":[{"entityId":"cmtkp2v5a0003psp7ipsx1w70","name":"CodeRabbit","kind":"competitor","site":"https://www.coderabbit.ai","changesInMonth":3,"latest":{"claim":"CodeRabbit replaced its on-demand 'Security Scan' (with variable usage-based pricing) with 'Deep Scan', now offered as a free trial, with line-by-line codebase review and vulnerability hunting.","tag":"FACT","sourceUrl":"https://www.coderabbit.ai/pricing","observedAt":"2026-10-19T06:03:55.456Z"}},{"entityId":"cmuohfj0q0016ofmywjps3i00","name":"Qodo","kind":"competitor","site":"https://qodo.ai","changesInMonth":1,"latest":{"claim":"Qodo removed the 30-user limit on its Pro Team plan. Previously, the plan supported up to 30 users after upgrade; now there are no limits on users, repositories, or reviews, and reviews continue as overage up to the monthly spending cap.","tag":"FACT","sourceUrl":"https://www.qodo.ai/pricing/","observedAt":"2026-10-19T06:03:55.456Z"}},{"entityId":"cmuohfixv0014ofmy2dwmaj7o","name":"Graphite","kind":"competitor","site":"https://graphite.com","changesInMonth":0,"latest":{"claim":"Graphite's pricing consists of Hobby (free, limited AI reviews), Starter at $20/user/month, Team at $40/user/month with unlimited AI reviews and merge queue, and custom Enterprise pricing, with all plans including a 30-day free trial.","tag":"FACT","sourceUrl":"https://graphite.com/blog/introducing-graphite-agent-and-pricing","observedAt":"2026-09-30T19:18:09.995Z"}},{"entityId":"cmuohfj3e0018ofmyhbl5d8f6","name":"Sourcery","kind":"competitor","site":"https://sourcery.ai","changesInMonth":0,"latest":{"claim":"Sourcery's own homepage FAQ states <cite index=\"2-9,2-10\">Pro is $12 per seat per month and Team is $24, billed annually, with open source free.</cite> <cite index=\"2-14\">Enterprise runs Sourcery inside a customer's own infrastructure, with SSO, own LLM keys, a dedicated customer success manager and invoice billing.</cite>","tag":"FACT","sourceUrl":"https://www.sourcery.ai/","observedAt":"2026-09-30T19:18:09.995Z"}},{"entityId":"cmtshhbt80002psp7vq7tcgnh","name":"Greptile","kind":"competitor","site":"https://www.greptile.com","changesInMonth":0,"latest":{"claim":"Greptile's pricing structure is a credit-based model: free Starter tier with 50 credits/month for one developer, Pro at $30/seat/month including 50 credits/seat, with 1 credit per standard review, 3 credits per TREX review, and $1 per additional credit beyond the included amount.","tag":"FACT","sourceUrl":"https://www.greptile.com/pricing","observedAt":"2026-09-08T09:45:08.257Z"}},{"entityId":"cmuohfj6d001aofmyxe15xg7l","name":"Noise from review bots","kind":"discourse","site":null,"changesInMonth":0,"latest":null},{"entityId":"cmuohfj90001cofmy66ga0ptx","name":"Small teams merging agent-written code","kind":"segment","site":null,"changesInMonth":0,"latest":null}]},"funding":{"quartersConsidered":8,"readQuarters":2,"totalRounds":4,"currencies":[],"withheldReason":null,"quarters":[{"quarterKey":"2025-Q1","entitiesRead":0,"rounds":0,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2025-Q2","entitiesRead":0,"rounds":0,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2025-Q3","entitiesRead":0,"rounds":0,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2025-Q4","entitiesRead":0,"rounds":0,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2026-Q1","entitiesRead":0,"rounds":0,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2026-Q2","entitiesRead":0,"rounds":0,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2026-Q3","entitiesRead":7,"rounds":4,"roundsWithAmount":0,"sums":[]},{"quarterKey":"2026-Q4","entitiesRead":3,"rounds":0,"roundsWithAmount":0,"sums":[]}]},"marketSize":{"readAt":null,"publishers":[]}}