Skip to content

CLI crashes for task parameters starting with run/executor/plugins (e.g. runtime=…): "Run overwrites must start with 'run.'" #604

Description

@ManoharPaturi

Description

Any @run.cli.entrypoint function with a parameter whose name starts with a reserved prefix (run, executor, plugins) cannot be configured from the CLI — the invocation crashes before the task argument parser runs:

ValueError: Run overwrites must start with 'run.'. Got runtime=120

Affected names include runtime, run_id, runs_per_epoch, executors, plugins_dir etc — all normal parameter names.

Steps to reproduce

# app.py
import nemo_run as run

@run.cli.entrypoint(skip_confirmation=True)
def train(runtime: int = 60, lr: float = 0.1):
    print(runtime, lr)

if __name__ == "__main__":
    run.cli.main(train)
$ python app.py runtime=120 lr=0.2
ValueError: Run overwrites must start with 'run.'. Got runtime=120

Unit-level: _parse_prefixed_args(["runtime=3600"], "run") raises.

Expected behavior

runtime is a task parameter, the run should behave like any other name (max_runtime=120 works today). Only run=…, run.…, run[…] (and executor/plugins equivalents) should be treated as prefixed overwrites.

Actual behavior

RunContext.cli_execute passes all task args through _parse_prefixed_args(args, "run"), which matches startswith("run") with no word boundary.

Two more issues in the same function:

  • _parse_prefixed_args(["run.a.run.b=1"], "run") returns a.b=1 — every run. occurrence is stripped, silently targeting the wrong parameter.
  • _parse_prefixed_args(["executor=k=v"], "executor") returns value k instead of k=v (value split at first =).

Environment

nemo-run main (b85eb67), Python 3.12, macOS

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions