{"record":{"id":"9905de81c0a19390","repo":"docker/compose","slug":"unsupported-progress-value-q","errorCode":null,"errorMessage":"unsupported --progress value %q","messagePattern":"unsupported --progress value %q","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/compose/compose.go","lineNumber":688,"sourceCode":"\t\t\treturn nil, fmt.Errorf(\"can't use --progress tty while ANSI support is disabled\")\n\t\t}\n\t\tdisplay.Mode = display.ModeTTY\n\t\treturn display.Full(dockerCli.Err(), stdinfo(dockerCli), detached), nil\n\tcase display.ModePlain:\n\t\tif ansi == \"always\" {\n\t\t\treturn nil, fmt.Errorf(\"can't use --progress plain while ANSI support is forced\")\n\t\t}\n\t\tdisplay.Mode = display.ModePlain\n\t\treturn display.Plain(dockerCli.Err()), nil\n\tcase display.ModeQuiet, \"none\":\n\t\tdisplay.Mode = display.ModeQuiet\n\t\treturn display.Quiet(), nil\n\tcase display.ModeJSON:\n\t\tdisplay.Mode = display.ModeJSON\n\t\tlogrus.SetFormatter(&logrus.JSONFormatter{})\n\t\treturn display.JSON(dockerCli.Err()), nil\n\tdefault:\n\t\treturn nil, fmt.Errorf(\"unsupported --progress value %q\", progress)\n\t}\n}\n\nfunc setEnvWithDotEnv(opts ProjectOptions, dockerCli command.Cli) error {\n\t// Check if we're using a remote config (OCI or Git)\n\t// If so, skip env loading as remote loaders haven't been initialized yet\n\t// and trying to process the path would fail\n\tremoteLoaders := opts.remoteLoaders(dockerCli)\n\tfor _, path := range opts.ConfigPaths {\n\t\tfor _, loader := range remoteLoaders {\n\t\t\tif loader.Accept(path) {\n\t\t\t\t// Remote config - skip env loading for now\n\t\t\t\t// It will be loaded later when the project is fully initialized\n\t\t\t\treturn nil\n\t\t\t}\n\t\t}\n\t}\n","sourceCodeStart":670,"sourceCodeEnd":706,"githubUrl":"https://github.com/docker/compose/blob/ddc4b044b62e9f715212ea4143fa830fac76382f/cmd/compose/compose.go#L670-L706","documentation":"The value passed to `--progress` does not match any supported display mode. Compose's mode selector accepts auto, tty, plain, quiet (or \"none\"), and json; anything else falls into the default branch of the switch and is rejected with the offending value echoed back.","triggerScenarios":"Running e.g. `docker compose --progress silent up` or a typo like `--progress json ` (trailing space), `--progres=plain` (unknown flag), or passing a value from a script variable that is empty or misspelled.","commonSituations":"CI pipelines parameterizing --progress with a variable that is empty or contains a typo; copy-paste from older docker compose versions whose accepted values differed; setting COMPOSE_PROGRESS to an invalid string.","solutions":["Use one of the accepted values: auto, tty, plain, quiet (or none), json.","If the value comes from a variable, echo it before running compose to catch empty/typo values.","Upgrade scripts that use values valid only in other Docker tooling (e.g. buildx's --progress rawjson is not valid here)."],"exampleFix":"# before\ndocker compose --progress ${PROGRESS_MODE} up  # PROGRESS_MODE=\"\"\n\n# after\ndocker compose --progress \"${PROGRESS_MODE:-auto}\" up","handlingStrategy":"validation","validationCode":"# bash\nprogress=\"${COMPOSE_PROGRESS:-auto}\"\ncase \"$progress\" in auto|tty|plain|quiet|none|json) ;; *) echo \"bad progress: $progress\" >&2; exit 2;; esac\ndocker compose --progress \"$progress\" up -d","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Whitelist the value in CI templates before it reaches compose.","Run `docker compose --help` after upgrades to re-check accepted --progress values."],"tags":["cli","progress","flags","validation"],"backgroundTag":null,"analyzedSha":"ddc4b044b62e9f715212ea4143fa830fac76382f","analyzedAt":"2026-08-15T13:31:42.319Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}