Updated Oct 19, 2026

Utilities

Compile a self-contained Bicep file to ARM JSON

bicep-build is an offline Bicep compiler node for a single self-contained source file.

Agent

overview

What bicep-build does

Compile one self-contained local Bicep source file into an ARM JSON template. Module restoration is disabled; no deployment or Azure credentials are used.

Compile a supplied file with bicep build main.bicep --no-restore --stdout and return the ARM deployment template JSON. A temporary copy receives the .bicep extension, so a platform text-file name does not prevent compilation.

The source must be a nonempty regular file of at most 1 MiB. No companion modules, data files, bicep configuration or cached registry modules are supplied. Compilation has a 120-second limit and 16 MiB stdout limit. Warnings can accompany a successful template; syntax or resolution failures produce no template.

Packaged version: 0.47.16. Upstream license: MIT.

source github.com/Azure/bicep/tree/3f73e1a234fcdf3907d606504aa2ff546921da03

use cases

Where bicep-build fits

Inspect generated resource declarations

Review ARM resource types and properties compiled from Bicep.

Check parameter defaults

Confirm supplied defaults appear in the generated template.

Catch compilation errors

Reject invalid syntax or unresolved modules before a deployment stage.

reference

bicep-build inputs and flags

1 inputs
NameTypeFlagDescription
inputFILE--inputSelf-contained Bicep source file, at most 1 MiB. Companion files and registry modules are not available.

Showing key inputs. bicep-build exposes 1 inputs in total.

example

Run bicep-build

bicep-build · command
node /app/run.cjs --input ./input.txt ./output

guidance

Choosing bicep-build

Use bicep-build to inspect generated ARM JSON before deployment. It uses no Azure credentials and performs no deployment. Registry modules fail when they require restoration; use a self-contained source file.

faq

bicep-build questions

input: Self-contained Bicep source file, at most 1 MiB. Companion files and registry modules are not available.

Compile a supplied file with bicep build main.bicep --no-restore --stdout and return the ARM deployment template JSON. A temporary copy receives the .bicep extension, so a platform text-file name does not prevent compilation.

The source must be a nonempty regular file of at most 1 MiB. No companion modules, data files, bicep configuration or cached registry modules are supplied. Compilation has a 120-second limit and 16 MiB stdout limit. Warnings can accompany a successful template; syntax or resolution failures produce no template.

Use bicep-build to inspect generated ARM JSON before deployment. It uses no Azure credentials and performs no deployment. Registry modules fail when they require restoration; use a self-contained source file.

The public image repository gives immutable image and ORAS download commands, the expected source/notices bundle checksum and pinned upstream source directions. The accompanying OCI bundle retains the original build recipe, runtime sources and full installed notices. The Git recipe keeps primary notices and an exact layer/hash index; it does not duplicate the full installed notice tree or mirror every upstream source archive. Image, source and license notice downloads.

Run bicep-build yourself

The saved verifier confirmed an ARM template containing one Microsoft.Storage/storageAccounts resource, API version 2023-05-01 and the supplied storageName default. No Azure resource was deployed, and the complete template was not retained. The command shows the container entrypoint with example paths.

Facts on this page come from the live Trickest tool library.