Unrecognized config options using strict syntax

i’m working on upgrading a pipeline that ran on nextflow 24.10.3 to 25.10.0 with strict syntax enabled.

I’m getting a bunch of warnings like:

WARN: Unrecognized config option 'process.*:...:.*.ext.prefix'

How can i make nextflow recognize these kinds of “ext” configs, or what is the new pattern to replace this?

I’m not sure it’s the ext part that’s the issue.

Running a minimal test

workflow {
    TASK(1).view()
}

process TASK {
    input:
    val thing

    script:
    def args = task.ext.args ?: 'nothing'
    def prefix = task.ext.prefix ?: 'default'
    """
    echo "${thing} ${args}" | tee "${prefix}.txt"
    """

    output:
    stdout
}

and

resume = true

process {
    withName: 'TASK' {
        ext.args = 'hello'
        ext.prefix = 'prefix'
    }
}

Does not result in any issues for me:

$ NXF_SYNTAX_PARSER=v2 nextflow run main.nf 

 N E X T F L O W   ~  version 25.10.0

Launching `main.nf` [pensive_knuth] DSL2 - revision: 98240d1d43

[9a/07a83b] TASK [100%] 1 of 1, cached: 1 ✔
1 hello

Ah it appears that it’s caused when the withName selector is quoted and contains special characters. I was able to reproduce the issue in your MWE by replacing your config with this

resume = true

process {
    withName: '.*TASK.*' {
        ext.args   = 'hello'
        ext.prefix = 'prefix'
    }
}

Ah, I see it. Report it as a bug.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.