Better visibility of missing dependencies
You can now view missing dependencies in job rows. This allows you to quickly debug your pipeline configuration while the build is running or after it fails.
When a build is running, and a job has a dependency that doesn't exist yet, you'll see the following message:

You can expand the job row to see the names of the missing dependencies:

If the step dependency is not resolved and the build fails, you'll see an error message:

When you expand the job row, you'll see the names of the missing dependencies:

Liam
Support for line breaks in block and input steps
You can now add line breaks to your block and input steps in Buildkite Pipelines. For example, see the prompt and hint fields in the following pipeline definition:

These fields are displayed in the UI as follows:

Liam
UI improvements for links and long commands on jobs
When viewing jobs, the links to agent and queue details now take up less space, and you can see the full command on hover when it's truncated.
A recent change added links from jobs to agent and queue details, but the links took up a significant portion of the job row. We've made the links more compact so you can see more of the job name and command while keeping direct links to the agent and queue details:

When a longer job command is truncated, you can now see the full command on hover:

Liam
Retry failed jobs while builds are running
You can now retry failed builds directly from the build view.
If any jobs fail while a build is running, you will now see a Retry failed jobs button in the build header. This allows you to retry all failed jobs at once rather than selecting Retry on individual jobs.

After a build finishes, the Retry failed jobs button now displays directly in the build header rather than under the Rebuild menu.

Liam
Test search in Test Analytics
You can now search for tests by name, scope, and location from the Tests page.

Katie
Search flaky tests from the UI or API
You can now search for flaky tests by test name, scope, and location using the Test Analytics UI or API.

To learn more, check out the API documentation.
Katie
Introducing: Flaky test assignment in Test Analytics
Users on our Pro and Enterprise plans can assign flaky tests to teams in their organization. Use flaky test assignment to signal to other teams that a flaky test is being worked on.

To learn more, check out the documentation.
Katie
Linking to jobs from waterfall view
The waterfall view has been updated to help you debug builds faster.
You can now go directly from a job in the waterfall view:

To its log output:

Liam
Introducing: Teams REST API
Buildkite Teams can be accessed programmatically through the REST API, improving parity with our existing GraphQL API.
Explore further details and learn how to integrate with our API documentation.
Jason
Naufan
Clusters Generally Available
Clusters is a Buildkite feature used to manage and organize agents and queues, which:
- allows teams to self-manage their Buildkite agent pools,
- allows admins to create isolated sets of agents and pipelines within within a single Buildkite organization,
- helps make agents and queues more discoverable across your organization,
- gives you more control over your agents and queues like pausing them, and
- provides easily accessible queue metrics.
All existing agents can now be accessed through Unclustered grouping on the agents page.
Liam
Linking to agents from jobs
You can now go directly from jobs to agent details. When viewing a build, you'll see each job with its agent's name and a link to the agent details:

If you're using clusters, you'll see a link to the queue for the job while waiting for an agent to be assigned:

Once the job is assigned to an agent, you'll see the agent details alongside the queue:

Kalo
Lower Agent Timeouts
We have reduced agent timeouts from 5 minutes to just 3 minutes, and improved the lost agent cleanup service from 5 minutes to 1 minute! This enhancement offers significant benefits to our customers, particularly those utilizing spot instances for their agents.
With shorter timeouts, jobs now fail faster when spot instances can't compete on price, slashing the time it takes for pipelines to detect and recover from failures from 10 minutes to just 4 minutes. This means faster feedback loops, streamlined pipelines, and ultimately, accelerated development cycles.
Oz
Clusters Generally Available
Clusters will be enabled for all organizations on 26 February, 2024.
Clusters is a Buildkite feature used to manage and organize agents and queues, which:
- allows teams to self-manage their Buildkite agent pools,
- allows admins to create isolated sets of agents and pipelines within within a single Buildkite organization,
- helps make agents and queues more discoverable across your organization, and
- provides easily accessible queue metrics.
After the release all existing agents can be accessed through Unclustered grouping on the agents page.
Liam
Agent Job Tokens
Access tokens for agents will now be limited to the lifetime of the job. There is now a unique BUILDKITE_AGENT_ACCESS_TOKEN for each job that is run, which will stop working once the job finishes. This reduces the period of impact to the lifetime of the job if a BUILDKITE_AGENT_ACCESS_TOKEN is leaked from the agent’s environment.
Ensure you are running Buildkite Agent version v3.39.0 or later to take advantage of these tokens and v3.62.0 for all the latest improvements.
For more details, see the documentation.
Tessa
REST API Rate Limit Changes
Today, we updated our REST API rate limits. This update will improve performance, enhance security, and ensure fair usage.
For more information on rate limits please consult our documentation.
Himal
Docs updates to Pipelines landing page, GraphQL cookbook, and visual style

- Creating a new landing page for Pipelines. This helps distinguish the product from the feature and provides clearer entry points for new users.
- Adding a dedicated page to describe Pipelines' hybrid architecture.
- Highlighting H3s when scrolling on a page.
- Splitting the GraphQL cookbook into multiple pages to make it easier to navigate.
- Updating the search component.
- Applying general style updates across the site, from typography and tables to page layout and spacing.
And many more small changes. See the documentation to check them all out. ✨
Michael
Enforce edit permissions check when accessing pipeline provider webhook URLs
Pipeline edit permissions are now required to view pipeline.provider.webhook_url. If the user does not have the correct permissions, a blank string will be shown in place of the webhook URL.
This change will also affect webhook payloads containing pipeline data. To ensure the greatest level of security, pipeline.provider.webhook_url will no longer be visible in these payloads.
Laura
Single Organization Access Tokens
Starting today, newly created API Access Tokens will only access one organization. This update aims to enhance organizations' security by simplifying access token management. Administrators should be aware that tokens cannot be modified to include their organization after they have been originally created.
This change only affects newly created tokens. All existing tokens will remain unaffected by this change; however, existing tokens will not be able to add any additional organizations to their scope.
James
Upcoming change to the Buildkite API
To enhance the overall reliability and scalability, we are implementing changes to how Buildkite handles API GET requests that include a body in the payload starting September 18th.
As a result of these changes, any GET request to api.buildkite.com that includes a body will receive a 403 status (Forbidden) as a response.
This may impact legacy clients, particularly older versions of Buildkite's Terraform provider (< 0.15). To ensure compatibility, we recommend upgrading to the latest version of our Terraform provider.
During the week commencing August 28th, Buildkite will intermittently enable this change for short periods as a low-impact method of uncovering issues.
We value our customers and their experience with Buildkite, so we will directly communicate with any customers continuing to submit API GET requests with a body.
Thank you for your understanding and cooperation as we continue to improve our platform.
Update: We originally advised this change would occur on August 14th, we have delayed this change to September 18th.
James
Start turning complexity into an advantage
Create an account to get started for free.