TeamCity "Parameter is not specified" / unresolved %param% in CI
A build references a parameter that has no value. TeamCity either refuses to start the build ("Parameter is not specified") or passes the literal %param% reference through unresolved, breaking the step that uses it.
What this error means
The build fails to start with "Parameter 'X' is not specified", or a step receives a literal %some.param% because the reference did not resolve to a value.
Cannot start build: Parameter "deploy.token" is not specified.
Please provide a value for the parameter.Common causes
A required parameter has no value
A configuration parameter is declared (or referenced) but has no default and no value supplied, so TeamCity cannot resolve it.
A typo or wrong scope in the %param% reference
The reference name does not match a defined parameter, or it uses the wrong prefix (env., system.), so it stays unresolved.
How to fix it
Define the parameter with a value
- Open Build Configuration, Parameters, and add or set the referenced parameter.
- For required inputs, mark it as a prompt or provide a default.
- Re-run; the build resolves
%param%to the value.
# reference a defined parameter in a step
echo "Deploying %deploy.env% with token %deploy.token%"Fix the reference name and prefix
Match the %name% reference to a defined parameter, using the correct prefix: env. for environment variables, system. for build (system) properties, or a plain configuration parameter.
How to prevent it
- Give required parameters defaults or mark them as prompts.
- Reference parameters by their exact defined name and scope.
- Use parameter specs (typed, required) to catch missing values before the build starts.