---
title: How can I add a custom build step to my project?
description: Learn how to add a custom build step for your project.
url: /kb/guide/how-can-i-add-a-custom-build-step-to-my-project
canonical_url: "https://vercel.com/kb/guide/how-can-i-add-a-custom-build-step-to-my-project"
published: 2025-11-03
last_updated: 2025-11-10
authors: Allen Hai
related:
  - /docs/platform/projects
  - /docs/concepts/deployments/troubleshoot-a-build
  - /docs/build-step
install_vercel_plugin: npx plugins add vercel/vercel-plugin
---
<!-- docsgraph:related -->
## Related pages

> **For AI agents:** Follow these links to understand how this page connects to the rest of the Vercel ecosystem. For the full cross-link map (inbound, outbound, prerequisites, and semantic neighbors), see the .graph.md link below.

- [vercel build](https://vercel.com/docs/cli/build?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Learn how to build a Vercel Project locally or in your own CI environment using the vercel build CLI command.
- [Build Features for Customizing Deployments](https://vercel.com/docs/builds/build-features?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Learn how to customize your deployments using Vercel's build features.
- [How Vercel builds your application](https://vercel.com/docs/fundamentals/builds?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Learn how Vercel transforms your source code into optimized assets ready to serve globally.
- [Customizing the Install Command while creating Projects](https://vercel.com/changelog/customizing-the-install-command-while-creating-projects?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related)
- [Builds](https://vercel.com/docs/builds?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Understand how the build step works when creating a Vercel Deployment.
- [Build image overview](https://vercel.com/docs/builds/build-image?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Learn about the container image used for Vercel builds.
- [Per-environment and per-branch Build Commands on Vercel](https://vercel.com/kb/guide/per-environment-and-per-branch-build-commands?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Customize your commands for specific behaviors based on branch, environment, and more.
- [Conditional Build Commands: Environment, Branch, and Custom Workflows](https://vercel.com/kb/guide/dynamic-build-commands?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Run a different Vercel build command for each environment or Git branch using a shell script, vercel.json, or vercel.ts,
- [How can I use the Vercel CLI for custom workflows?](https://vercel.com/kb/guide/using-vercel-cli-for-custom-workflows?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — You can use the Vercel CLI to deploy any application, including custom git providers and restricted source code.
- [How do I use the "Ignored Build Step" field on Vercel?](https://vercel.com/kb/guide/how-do-i-use-the-ignored-build-step-field-on-vercel?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Instructions on how to use the "Ignored Build Step" field to programmatically prevent a new deployment from being built.
- [Can I deploy a locally built Next.js app to Vercel?](https://vercel.com/kb/guide/deploying-locally-built-nextjs?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=related) — Learn how to deploy a locally built Next.js application to Vercel.

Full cross-link map for this page: [/kb/guide/how-can-i-add-a-custom-build-step-to-my-project.graph.md](/kb/guide/how-can-i-add-a-custom-build-step-to-my-project.graph.md?from=related&source_path=%2Fkb%2Fguide%2Fhow-can-i-add-a-custom-build-step-to-my-project&source_site=vercel-kb&relationship=graph)
<!-- /docsgraph:related -->


[Projects](https://vercel.com/docs/platform/projects) with advanced build requirements may demand several steps of execution before the final assets are output into the destination directory. Read on to learn how Vercel supports advanced project builds.

## Custom Build Script

[Projects](https://vercel.com/docs/platform/projects) on Vercel are built in an [Amazon Linux 2](https://vercel.com/docs/concepts/deployments/troubleshoot-a-build#build-image) environment and are able to run custom scripts during the build. All that's required is a `package.json` file at the project root with a `scripts.build` key like the following:

```json
{
  "scripts": {
    "build": "wget example.com/custom-binary.tar.gz;tar -zxvf ./custom-binary.tar.gz;./custom-binary.tar.gz;"
  }
}
```

You can also set a custom build command without creating a `package.json` file through your Project's settings in the [dashboard](https://vercel.com/docs/build-step#customizing-build-settings).

You can find a list of frequently asked questions about the build environment in the [documentation](https://vercel.com/docs/concepts/deployments/troubleshoot-a-build#build-image).