---
description: |
  Provisioners use builtin and third-party software to install and configure the
  machine image after booting. Learn about Packer provisioners.
page_title: Provisioners overview
---

# Provisioners overview

Provisioners use built-in and third-party software to install and configure the machine image after
booting. Provisioners prepare the system, so you may want to use them for the following use cases:

- installing packages
- patching the kernel
- creating users
- downloading application code

The following provisioners are included with Packer:

- [`breakpoint`](/packer/docs/provisioners/breakpoint) - pause until the user presses `Enter` to resume
  a build.
- [`file`](/packer/docs/provisioners/file) - upload files to machines image during a build.
- [`hcp-sbom`](/packer/docs/provisioners/hcp-sbom) - upload an SBOM and associate it with an artifact 
   version in the HCP Packer registry.
- [`shell`](/packer/docs/provisioners/shell) - run shell scripts on the machines image during a build.
- [`shell-local`](/packer/docs/provisioners/shell-local) - run shell scripts on the host running Packer
  during a build.
- [`powershell`](/packer/docs/provisioners/powershell) - run PowerShell scripts on Windows machine
  images during a build.
- [`windows-shell`](/packer/docs/provisioners/windows-shell) - run commands using `cmd` on Windows
  machine images during a build.
- [`windows-restart`](/packer/docs/provisioners/windows-restart) - initiate a reboot on a Windows
  machine images during a build.

Additional [Community Supported](/packer/docs/provisioners/community-supported) provisioners are
developed and maintained by various members of the community.

Refer to the [`provisioner`](/packer/docs/templates/hcl_templates/blocks/build/provisioner) block
documentation to learn more about working with provisioners.
