Difficulty using fgbio with CWL

I’m trying to write a tool for running fgbio ExtractUmisFromBam and am having some difficulty with a particular argument. The molecular_index_tags argument expects a string of SAM tags of any length. When I provide a string I receive the error Error: SAM tags must be of length two so I have tried instead to have my tool accept an array of strings, but that also fails with the same error. When running fgbio manually without using CWL I do not encounter this issue. Clearly I am not providing the input string properly in CWL, but I’m at a loss as to what else to do. Any help would be appreciated.

My tool so far is:

cwlVersion: v1.2
class: CommandLineTool

hints:
  DockerRequirement:
    dockerPull: quay.io/biocontainers/fgbio

baseCommand: ["fgbio", "ExtractUmisFromBam"]

arguments:
  - prefix: "--output"
    valueFrom: $(inputs.sampleID).fgbio.bam

inputs:
  input:
    type: File
    inputBinding:
      position: 1
      prefix: "--input"
  sampleID:
    type: string
  read_structure:
    type: string
    inputBinding:
      position: 2
      prefix: "--read-structure"
  molecular_index_tags:
    type: string[]
    inputBinding:
      position: 3
      itemSeparator: ' '
      shellQuote: false
      prefix: "--molecular-index-tags"
  single_tag:
    type: string
    inputBinding:
      position: 4
      prefix: "--single-tag"

outputs:
  output_bam:
    type: File
    outputBinding:
      glob: "*.fgbio.bam"

My input is structured like so

input:
    class: File
    format: edam:format_2572
    path: ./test_files/input.bam
sampleID: "test_sample"
read_structure: "8M143T 8M143T"
molecular_index_tags:
    - "ZA"
    - "ZB"
single_tag: "RX"

The error I’m receiving is

Exception: ValidationException
Error: SAM tags must be of length two: ZA ZB

This is very interesting, can you try using the --debug parameter for cwltool to see what the actual shell script command is underneath?

From the array inputs guide, the most appropriate solution should just be to mimic the filesA input in the guide

  molecular_index_tags:
    type: string[]
    inputBinding:
      prefix: "--molecular-index-tags"