Skip to content
Latchkey

circleci config process: Expand CircleCI Config

circleci config process resolves orbs, executors, parameters, and pipeline values and prints the fully expanded config that CircleCI actually runs.

When a job does not behave as written, the cause is often orb or parameter expansion. process shows the final config after all substitutions, which is invaluable for debugging and for dynamic (setup) pipelines.

What it does

circleci config process takes a source config, fetches orbs, applies parameter defaults and pipeline values, and writes the resolved config to stdout. Dynamic-config setup workflows commonly process a child config and hand it to the continuation.

Common usage

Terminal
circleci config process .circleci/config.yml
circleci config process .circleci/config.yml > processed.yml
circleci config process --pipeline-parameters '{"deploy": true}' \
  .circleci/config.yml

Options

FlagWhat it does
[path]Config file to process (defaults to .circleci/config.yml)
--pipeline-parameters <json|@file>Values for declared pipeline parameters
--org-id <id>Organization id for resolving orbs
--verbosePrint extra resolution detail

In CI

In a dynamic-config setup workflow, process the child config, then feed it to the continuation orb. In a lint job, diff the processed output to confirm orb upgrades did not change behavior unexpectedly.

Common errors in CI

Expansion problems print Error: config compilation contains errors: parameter ... is not defined or variable expansion: ... not found. Passing bad JSON to --pipeline-parameters yields invalid character ... in .... If an orb cannot be resolved you get Orb ... not found; supply --org-id and ensure the runner has network and auth.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →