Nicolas Vannieuwkerke
05/05/2026, 8:43 AMString type by default.
This will be solved by static typing introduced in Nextflow 26.10 but there is currently no built-in Nextflow way to handle this properly. You can manually update the types of the parameters by doing something like this: params.test_parameter = params.test_parameter as Integer to turn a parameter to a specific type (Integer in this case). Before releasing your pipeline as strict syntax compatible, please double check that it also works when changing parameters via the CLI (as types are preserved when specified in the config or parameters file)mashehu
05/05/2026, 8:47 AMNicolas Vannieuwkerke
05/05/2026, 8:48 AMNicolas Vannieuwkerke
05/05/2026, 8:48 AMmashehu
05/05/2026, 8:48 AMNicolas Vannieuwkerke
05/05/2026, 8:48 AMNicolas Vannieuwkerke
05/05/2026, 8:49 AMmashehu
05/05/2026, 8:50 AMnextflow_schema.json and do a quick parsing for a type casting to the right type in any of the codeNicolas Vannieuwkerke
05/05/2026, 8:51 AMmashehu
05/05/2026, 8:51 AM./main.nf?Nicolas Vannieuwkerke
05/05/2026, 8:52 AMparams.igenomes_ignore = params.igenomes_ignore != null ? params.igenomes_ignore as Boolean : null
workflow {
...
}Nicolas Vannieuwkerke
05/05/2026, 8:52 AMNicolas Vannieuwkerke
05/05/2026, 8:52 AMNicolas Vannieuwkerke
05/05/2026, 9:08 AMNicolas Vannieuwkerke
05/05/2026, 9:14 AMmashehu
05/05/2026, 9:20 AMNicolas Vannieuwkerke
05/05/2026, 9:25 AMPhil Ewels
05/05/2026, 10:01 AMPhil Ewels
05/05/2026, 10:02 AMNicolas Vannieuwkerke
05/05/2026, 10:02 AMPhil Ewels
05/05/2026, 10:03 AMPhil Ewels
05/05/2026, 10:04 AMPhil Ewels
05/05/2026, 10:05 AMNicolas Vannieuwkerke
05/05/2026, 10:46 AMNicolas Vannieuwkerke
05/05/2026, 10:48 AMBut wait, are you sure params aren't stable? 🤔 Getting mixed up with the different parts of the type systemThe problem only occurs when using strict syntax and passing a parameter via the CLI, these will always be of the
String type now instead of having their type derived (as was the case in the old syntax)Nicolas Vannieuwkerke
05/05/2026, 10:48 AMPhil Ewels
05/05/2026, 11:17 AMPhil Ewels
05/05/2026, 11:18 AMNicolas Vannieuwkerke
05/05/2026, 11:18 AMNicolas Vannieuwkerke
05/05/2026, 11:18 AMNicolas Vannieuwkerke
05/05/2026, 11:18 AMPhil Ewels
05/05/2026, 11:18 AMPhil Ewels
05/05/2026, 11:19 AMPhil Ewels
05/05/2026, 11:19 AMNicolas Vannieuwkerke
05/05/2026, 11:20 AMNicolas Vannieuwkerke
05/05/2026, 11:22 AMNextflow: Convert script to static types on <http://main.nf|main.nf> in VScode automatically puts the typed params block in that filePhil Ewels
05/05/2026, 11:33 AMPhil Ewels
05/05/2026, 11:33 AMmashehu
05/05/2026, 11:34 AMnextflow lint?Phil Ewels
05/05/2026, 11:36 AMmashehu
05/05/2026, 11:38 AMPhil Ewels
05/05/2026, 11:45 AMNicolas Vannieuwkerke
05/05/2026, 11:50 AMStephen Watts
05/05/2026, 10:47 PMStephen Watts
05/05/2026, 10:47 PMparams {
boolean_flag = false
}
main.nf
params {
boolean_flag: Boolean
}
workflow {
println "boolean_flag: ${params.boolean_flag} (${params.boolean_flag.getClass()})"
}Nicolas Vannieuwkerke
05/06/2026, 7:28 AMNicolas Vannieuwkerke
05/06/2026, 11:31 AM│ nextflow_config: Config variable not found: params.input │
│ nextflow_config: Default value from the Nextflow schema params.genome = GRCh38`` not found in nextflow.config. │
...
│ schema_params: Default value for param input invalid: Not in pipeline parameters. Check nextflow.config. │
...mashehu
05/06/2026, 11:41 AMlint:
nextflow_config:
- params.input
i guessNicolas Vannieuwkerke
05/06/2026, 11:47 AMmashehu
05/06/2026, 11:48 AMlint:
nextflow_config: falseNicolas Vannieuwkerke
05/06/2026, 11:49 AMNicolas Vannieuwkerke
05/06/2026, 11:49 AMNicolas Vannieuwkerke
05/06/2026, 12:02 PMPhil Ewels
05/06/2026, 12:24 PMPhil Ewels
05/06/2026, 12:25 PM<http://main.nf|main.nf> - should we do inline comments? Currently 3 lines per param which is pretty long. But maybe the formatter deletes those comments?Phil Ewels
05/06/2026, 12:25 PMPhil Ewels
05/06/2026, 12:25 PMNicolas Vannieuwkerke
05/06/2026, 12:28 PMmashehu
05/06/2026, 12:31 PMPhil Ewels
05/06/2026, 12:41 PMNicolas Vannieuwkerke
05/06/2026, 1:03 PMgenomes map isn't set in the workflow when using parameter types. Looking into possible fixes now but just so you knowNicolas Vannieuwkerke
05/06/2026, 1:10 PMparams.genomes = [
GRCh38: [
fasta: "path/to/fasta",
fai: "path/to/fai",
]
]Phil Ewels
05/06/2026, 1:11 PMPhil Ewels
05/06/2026, 1:12 PMPhil Ewels
05/06/2026, 1:12 PMNicolas Vannieuwkerke
05/06/2026, 1:12 PMNicolas Vannieuwkerke
05/06/2026, 1:13 PMNicolas Vannieuwkerke
05/06/2026, 1:13 PMPhil Ewels
05/06/2026, 1:13 PMPhil Ewels
05/06/2026, 1:14 PMNicolas Vannieuwkerke
05/06/2026, 1:15 PMprocess.errorStrategy config options does not allow dynamic setting anymore: _java.lang.IllegalStateException_: Directive 'errorStrategy' doesn't support dynamic value (or context not yet initialized)Phil Ewels
05/06/2026, 1:17 PMNicolas Vannieuwkerke
05/06/2026, 1:19 PMor context not yet initialized, if not I will be happy to create an issueNicolas Vannieuwkerke
05/06/2026, 1:19 PMNicolas Vannieuwkerke
05/06/2026, 2:13 PMNicolas Vannieuwkerke
05/12/2026, 2:40 PMNicolas Vannieuwkerke
05/12/2026, 3:44 PMBen Sherman
05/15/2026, 2:51 PMPieter Moris
05/16/2026, 11:37 AMValue is [string] but should be [boolean] nf-core) after updating my nf-core template pipeline from 3.x to 4.0.2. I had been using using NFX_VER=26.04.1 up until now without issue. Downgrading to 25.10.4 resolves the problem.
I only do these updates once in a blue moon and always end up terribly confused on which part of the ecosystem is acting up; both nextflow and nf-core are moving at such a rapid pace and changing their internals or sunsetting previous behaviour; it's difficult to keep up.Ben Sherman
05/17/2026, 9:06 PM