Buildkite vs CircleCI
CircleCI is built to get a repo to green with nothing to run. Buildkite is built for teams who want to design how CI works.
CircleCI is managed cloud CI, and it does that well: connect a repo, pick a resource class, and get to green without running anything. If CI is a developer workflow that works today, you may not need to switch.
Buildkite is for when CI becomes infrastructure your organisation depends on: agents on your own infrastructure or ours, pipeline steps generated at runtime as often as the build needs, and test intelligence and registries in the same system, on a bill you can read up front.
Buildkite supports GitHub, GitLab, Bitbucket, Origin, Entire, Pierre Computer Co’s code.storage, or your own Git server. Origin and Entire run CI on Buildkite, and Pierre Computer Co built code.storage on Buildkite CI.
- Choose Buildkite: when CI is infrastructure your organisation depends on, and you want to design how it works.
- Choose CircleCI: when you want managed cloud CI and a short path to green builds.
The short version
What Buildkite is built for
- Run on your infrastructure, Buildkite’s, or both
- Generate pipeline steps at runtime, as often as the build needs
- Keep test intelligence and registries in the same system
- Send OpenTelemetry traces from your agents to the collector you already run
- Start free, with dynamic pipelines and test splitting included
What CircleCI is good at
- Managed cloud CI with nothing to run
- Orbs: reusable config packages for common tools
- Hosted Docker, Linux, Arm, Windows, macOS and GPU executors
- Smarter Testing test selection, generally available since 13 October 2026
- Unlimited job concurrency on the Scale plan, with a custom limit for macOS
Feature comparison
By capability, not bias. Where CircleCI is the better choice, we say so.
| Capability | Buildkite | CircleCI |
|---|---|---|
| Setup and first build | Decide where agents run, your machines or Buildkite’s hosted agents, then define a pipeline in YAML or generate it in code. More to decide up front; the design is the product. | Connect a repo and run on CircleCI’s cloud. No infrastructure decisions to make. |
| Compute and execution | Self-hosted agents on any OS or architecture, including GPU. Hosted Linux and Mac M4 agents, with Windows in private preview. Mix both in one pipeline using separate queues. | Cloud executors for Docker, Linux, Arm, Windows, macOS and GPU. Self-hosted machine and container runners on every plan, and CircleCI Server 4.10 on your own Kubernetes. |
| Scale and concurrency | Free: 10 concurrent jobs · Pro: up to 250 concurrent agents · Enterprise: unlimited self-hosted agents. Hosted Linux to 256 vCPU and Mac M4 to 48 vCPU on Pro (pricing). | Free: 30 concurrent jobs · Performance: 80 · Scale: unlimited since 20 August 2026. macOS: 1 / 15 / custom. Self-hosted runner concurrency: 5 / 20 / unlimited. |
| Orchestration and dynamic pipelines | Any step can upload new steps at runtime, from Go, Python, Bash or any other language, as often as the build needs — by default up to 500 uploads and 4,000 jobs per build (limits). Included on every plan. | Dynamic config through a setup workflow: a pipeline can be continued once, within six hours of its creation. Dynamic Parallelism (October 2026, experimental) sizes test parallelism to the tests selected. |
| Test intelligence | Splitting by timing on every plan, flaky detection, and ownership mapped to teams. Test state management with auto-quarantine on Pro and Enterprise. Free: 250k executions a month · Pro: 1M, then $15 per million. | Static test splitting on every plan, and flaky-test detection (5 tests on Free). Smarter Testing — test selection, dynamic splitting, auto-rerun and test analytics — is metered in test atoms: 1,000 / 10,000 / 100,000 a month. |
| Artifacts and registries | Artifact storage plus package and container registries across 13 ecosystems, in the same platform. | Artifacts, workspaces and caching, with storage metered in credits above each plan’s allowance. |
| Observability | OpenTelemetry traces from the agents running your jobs and from the platform, configured once per cluster for hosted and self-hosted agents. In preview. | OpenTelemetry trace export to any OTLP backend since March 2026, configured per organisation. Spans come from CircleCI’s core services, not from job executors. |
| Governance and security | SOC 2 Type II on every plan. SSO and signed pipelines from Pro; SCIM, custom SAML, audit log exports and private log storage on Enterprise. | SOC 2 Type II and FedRAMP Tailored (LI-SaaS). SAML SSO and config policies on Scale. Audit logs on request on every plan, with streaming on Scale. |
| AI tooling | A remote MCP server with OAuth sign-in, plus an open-source local server. Your coding agents read builds and logs, trigger runs and iterate on pipelines. | A hosted MCP server (September 2026) with OAuth2 or a personal API token, and Chunk, its tooling for validating changes before you push. |
| Reliability and ownership | Choose where agents run and we run the control plane. The agent is open source. 99.95% platform uptime commitment on Enterprise. View SLA → | CircleCI runs the control plane and cloud executors. CircleCI Server puts the platform on your own Kubernetes. |
| Pricing model | Free: $0 · Pro: $30 per active user/month, 10 self-hosted agents included, $3.50 per agent/month after · Enterprise: custom. Your own compute isn’t billed; hosted compute is metered per vCPU-minute. View Pricing → | Credits. Free: 30,000 a month, 5 users · Performance: from $15 a month, with 30,000 credits and 5 users included; more credits at $15 per 25,000, and extra users at 25,000 credits a month each · Scale: custom, billed annually. |
Bring your CircleCI pipelines to Buildkite
The pipeline converter takes a CircleCI config and gives you a starting Buildkite pipeline. It’s LLM-assisted, and a starting point rather than a complete automated migration: review the output and adapt it to your agents before it runs your builds. The migration guide maps the concepts across.
- Run CircleCI and Buildkite side by side, and cut over pipeline by pipeline.
- Start with the pipeline that costs you the most time or money.
- The more you rely on dynamic config and orbs, the more of the move is design work rather than translation. That’s usually where dynamic pipelines pay for themselves.
- Our team can help map your pipelines.
Where the difference actually shows up
Most teams build, test and deploy fine on either. The difference shows up in the connections between steps: a security scan that gates a deploy, a test run sized to what changed, an approval that blocks a release.
- Pipelines that change shape mid-build. On Buildkite, any step can upload new steps at runtime, as often as the build needs. CircleCI’s dynamic config continues a pipeline once, within six hours of its creation; after that, the workflow’s shape is set.
- Compute is a choice per queue. Self-hosted, hosted, or both, behind the same pipeline. CircleCI is managed cloud first, with self-hosted runners and Server as options.
- A bill you can read up front. Buildkite charges per active user and per agent, and doesn’t meter compute you run yourself. CircleCI’s credits are flexible, but the burn depends on resource class, and Docker layer caching, Smarter Testing and storage draw from the same pool.
The question isn’t whether both have dynamic pipelines. It’s how far they go.
Built to fit your environment
Figures below combine Buildkite’s own capacity benchmarks with results from customer case studies.
concurrent agents across enterprise customers
Elastic cut Kibana pull request CI by 70%; Shopify cut build times by 75%
lower p90 mobile build times at Reddit (33% at p50), with queue times around five seconds
Cost breakdown
CircleCI meters credits by resource class and feature. Buildkite has three plans for predictable billing.
Free:
- Up to 5 users, 10 concurrent jobs
- 2,000 Linux vCPU-minutes and 250k test executions per month
- 50GB artifact storage, 250GB downloads, 30-day retention
- Dynamic pipelines and test splitting included
- Community support
Pro:
- $30 per active user per month, up to 50 users
- Up to 250 concurrent agents, 10 included, $3.50 per agent/month after
- 4,000 Linux vCPU-minutes included, plus M4 Mac agents and larger machine sizes
- 1M test executions per month, then $15 per additional million
- Test state management and auto-quarantine
- SSO and signed pipelines
- Priority email support
Enterprise:
- Unlimited users on a 30-user minimum
- Unlimited self-hosted agents, custom limits and retention
- 99.95% uptime commitment
- Enterprise support
Hosted agents: Linux $0.004 per vCPU-minute (a 2 vCPU Small agent is $0.008 a minute) and Mac M4 $0.02 per vCPU-minute, metered to the second.
Every plan starts with a 30-day all-access trial. No credit card needed. View pricing →
Where CircleCI’s bill is harder to forecast:
- Docker layer caching costs 200 credits per job run, on every plan
- Storage above the plan allowance (2GB / 2GB / 200GB) costs 420 credits per GB-month, and network traffic to self-hosted runners above 1GB / 5GB / 50GB a month costs 420 credits per GB
- Smarter Testing beyond the monthly test-atom allowance costs 3,000 credits per 100,000 atoms
- Included monthly credits expire each month; purchased credits roll over, then expire after a year
We won’t claim Buildkite is always cheaper. For steady, modest Linux workloads on standard resource classes, CircleCI’s credits can work out well.
Buildkite plan figures read from buildkite.com/pricing on 22 October 2026. CircleCI plan figures as published by CircleCI the same day.
Where your builds run
Buildkite makes flexible, persistent execution the default.
- Buildkite: self-hosted agents make outbound HTTPS connections only, with no inbound ports to open. Keep agents warm between runs with a local git mirror, or make them ephemeral. Your call, per queue. Or use Buildkite-hosted Linux and Mac agents.
- CircleCI: cloud executors by default, with self-hosted machine and container runners, and CircleCI Server 4.10 on your own Kubernetes for on-prem.
With self-hosted agents, your source code stays on your infrastructure, and you can keep secrets and artifacts in your own stores (architecture). Buildkite stores build logs and pipeline metadata; private log storage is on Enterprise.
Who answers when something breaks (and what customers say about it)
When delivery is strategic, support matters as much as features. Buildkite gives you direct access to the people who built it, not a tiered helpdesk. G2 and PeerSpot customers called it fast, responsive, and knowledgeable.
4.7 / 5 31 reviews · 22 October 2026
G2 rating, where reviewers cite responsive, knowledgeable support
The honest trade-off
Control costs ownership. If CircleCI runs your builds well and nobody wants to own CI as a system, staying is the right call.
- Buildkite gives you more to design and run: agents, pipeline code, and the decisions behind both.
- For a platform team, that’s the point. For a small team that wants green checks and nothing to maintain, it’s overhead you don’t need yet.
- If you’re unsure, move one real pipeline on the Free plan and decide from evidence rather than from a comparison page.
Choose CircleCI if…
- You want managed cloud CI with no infrastructure to run.
- Orbs and managed images cover your stack.
- You’re a small team, and time to green matters more than design control.
- You want hosted GPU, Windows or macOS executors without running hardware.
- You’re on Scale, and unlimited job concurrency covers your bursts.
- You need FedRAMP Tailored from your CI vendor.
It depends on your situation
The decision usually comes down to four things.
| Capability | Lean Buildkite | Lean CircleCI |
|---|---|---|
| Stack and hardware | Monorepos, custom toolchains, and GPU, Arm and mixed-OS builds on your own hardware. | Standard stacks covered by orbs and managed images, with hosted macOS, Windows and GPU when you need them. |
| Ownership | A platform team owns CI and wants to design it. | Nobody owns CI as a system, and time to green wins. |
| Concurrency | You add capacity by adding agents, with no agent cap on Enterprise. | Your plan’s limits fit, or Scale’s unlimited job concurrency covers your bursts. |
| Cost shape | Heavy, sustained self-hosted load, where per-agent pricing is easier to forecast. | Light to moderate steady load on standard resource classes. |
Frequently asked questions
Got a question that’s not on our list? Want a demo? Just want to chat? Get in touch.
Is Buildkite cheaper than CircleCI?
Not always. CircleCI includes 5 users and charges extra users in credits, and on standard resource classes its credits are competitive. Buildkite’s advantage is predictability: per-user and per-agent pricing, and no meter on compute you run yourself (pricing).
Does Buildkite have dynamic pipelines like CircleCI?
Both do, to different depths. On Buildkite, any step can upload more steps at runtime, as often as the build needs, within documented limits. CircleCI’s dynamic config continues a pipeline once, within six hours of its creation.
Why do CircleCI jobs queue?
On Free and Performance, jobs beyond the plan’s concurrency (30 and 80) wait in a queue. Scale has had unlimited job concurrency since 20 August 2026, though macOS keeps a custom limit. On Buildkite, you add capacity by adding agents.
Can both send OpenTelemetry traces?
Yes, from different places. CircleCI sends spans for pipelines, workflows and jobs from its core services. Buildkite sends traces from the agents running your jobs and from the platform, and can set the exporter once per cluster for hosted and self-hosted agents. Buildkite’s OpenTelemetry support is in preview.
Can I keep agents warm between jobs?
Yes. Self-hosted Buildkite agents persist by default, so checkouts and caches can carry over between jobs, or you can run them ephemeral. Your call, per queue.
Does CircleCI run GitHub Actions workflows now?
In open preview since 22 September 2026, on Linux only, and secrets don’t transfer automatically. Buildkite’s GitHub Actions compatibility plugin, also in public preview, runs existing workflows as Buildkite jobs. Check the compatibility matrix against your workflows first.
How hard is it to migrate from CircleCI to Buildkite?
Mostly it’s translating config and moving execution, but it varies: the deeper you are into dynamic config and orbs, the more design work there is. The pipeline converter gives you a starting pipeline, and our team can help map the rest.
Related resources
See it on your pipelines
Bring a repo and a real workload. We’ll run one of your CircleCI pipelines through the converter, show you what the same work looks like as a native Buildkite pipeline, and tell you plainly if you’re better off where you are.