Cypress-io/cypress orb will not validate

Hi, I have been trying for hours to get this configuration to validate. I am using the circleci CLI tool and also pushing it up to the repo. The output isn’t making much sense. Any help is appreciated. The cypress/run command provided by the orb is wrapped in another run-cypress command. Could that be the issue?

Here is a snippet of the yml:

commands:
  run-cypress:
    description: 'Cypress run'
    parameters:
      app-name:
        type: string
      app-directory:
        type: string
      cypress-record-key:
        type: string
      wait-on:
        type: string
    steps:
      - cypress/run:
          command-prefix: CYPRESS_RECORD_KEY=<< parameters.cypress-record-key >> npx
          working_directory: packages/<< parameters.app-directory >>
          install-command: yarn install --frozen-lockfile
          record: true
          browser: chrome
          start: yarn workspace << parameters.app-name >> serve
          wait-on: << parameters.wait-on >>
          parallel: true
          parallelism: 40
          cache-key: node-dependencies-cypress-{{ checksum "yarn.lock" }}

Here is the error:

$ circleci config validate circle.yml

Error: ERROR IN CONFIG FILE:
[#/commands/run-cypress] 0 subschemas matched instead of one
1. [#/commands/run-cypress] expected type: String, found: Mapping
|   Command may be a string reference to another command
2. [#/commands/run-cypress/steps/0] 0 subschemas matched instead of one
|   1. [#/commands/run-cypress/steps/0] expected type: String, found: Mapping
|   |   Shorthand commands, like `checkout`
|   |   SCHEMA:
|   |     type: string
|   |   INPUT:
|   |     run:
|   |       command-prefix: CYPRESS_RECORD_KEY=<< parameters.cypress-record-key >> npx
|   |       working_directory: packages/<< parameters.app-directory >>
|   |       install-command: yarn install --frozen-lockfile
|   |       record: true
|   |       browser: chrome
|   |       start: yarn workspace << parameters.app-name >> serve
|   |       wait-on: << parameters.wait-on >>
|   |       parallel: true
|   |       parallelism: 40
|   |       cache-key: node-dependencies-cypress-{{ checksum "yarn.lock" }}
|   2. [#/commands/run-cypress/steps/0] extraneous key [run] is not permitted
|   |   `when`/`unless` step
|   |   Permitted keys:
|   |     - when
|   |     - unless
|   |   Passed keys:
|   |     - cypress/run
|   3. [#/commands/run-cypress/steps/0/run] 0 subschemas matched instead of one
|   |   1. [#/commands/run-cypress/steps/0/run] expected type: String, found: Mapping
|   |   |   SCHEMA:
|   |   |     type: string
|   |   |   INPUT:
|   |   |     null
|   |   2. [#/commands/run-cypress/steps/0/run] required key [command] not found

It is possible that the source of the error is outside of the code block that you have posted as the error text talks about when/unless which would be found in a workflow: section.