# When are failOnDuplicate and failOnMismatch set to true by default?

**URL:** https://community.seqera.io/t/when-are-failonduplicate-and-failonmismatch-set-to-true-by-default/2616
**Category:** Ask for help
**Tags:** nextflow
**Created:** [March 19, 2026, 7:28am UTC](https://community.seqera.io/t/when-are-failonduplicate-and-failonmismatch-set-to-true-by-default/2616 "2026-03-19T07:28:17Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Felix](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/felix/32/2389_2.png) [@Felix](https://community.seqera.io/u/Felix)
#### Post date: [March 19, 2026, 7:28am UTC](https://community.seqera.io/t/when-are-failonduplicate-and-failonmismatch-set-to-true-by-default/2616/1 "2026-03-19T07:28:17Z")

</div>

Are failOnDuplicate and failOnMismatch of the join operator only set to true by default with the (deprecated) nextflow.enable.strict mode, or also with NXF\_SYNTAX\_PARSER=v2?

Having trouble determining this both from the [documentation](https://www.nextflow.io/docs/latest/reference/operator.html#join) and from the [code](https://github.com/nextflow-io/nextflow/blob/19409304e00f779b138909c95e72372d97895369/modules/nextflow/src/main/groovy/nextflow/extension/JoinOp.groovy#L67-L68).

---

<div class="post-metadata">

### Author: ![bentsherman](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/bentsherman/32/52_2.png) [@bentsherman](https://community.seqera.io/u/bentsherman)
#### Post date: [March 19, 2026, 1:28pm UTC](https://community.seqera.io/t/when-are-failonduplicate-and-failonmismatch-set-to-true-by-default/2616/2 "2026-03-19T13:28:19Z")

</div>

It’s an unfortunate name collision. These join options are only affected by the `nextflow.enable.strict` feature flag

Once the v1 syntax parser is removed, we will likely remove this “strict” mode as well to avoid confusion

We will likely remove these `join` options as well at some point, since they are a bit of a rough edge, but that’s a topic for another day

---

<div class="post-metadata">

### Author: ![Felix](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/felix/32/2389_2.png) [@Felix](https://community.seqera.io/u/Felix)
#### Post date: [March 19, 2026, 2:09pm UTC](https://community.seqera.io/t/when-are-failonduplicate-and-failonmismatch-set-to-true-by-default/2616/3 "2026-03-19T14:09:23Z")

</div>

Alright. So, if I don’t want to use the “strict” mode (`nextflow.enable.strict`) since it’s being removed, but only the v2 parser, I would still need to set `failOnDuplicate: true, failOnMismatch: true` in every join?

---

<div class="post-metadata">

### Author: ![bentsherman](https://dub1.discourse-cdn.com/flex013/user_avatar/community.seqera.io/bentsherman/32/52_2.png) [@bentsherman](https://community.seqera.io/u/bentsherman)
#### Post date: [April 14, 2026, 3:36pm UTC](https://community.seqera.io/t/when-are-failonduplicate-and-failonmismatch-set-to-true-by-default/2616/4 "2026-04-14T15:36:30Z")

</div>

Sorry I didn’t see your reply for some reason. Yes, you can just set those options to `true` if you need them, or you can use custom operator logic to check for duplicates/mismatches and raise an error yourself
