{"record":{"id":"630d48eb17739143","repo":"nodejs/node","slug":"write-to-standard-output-already-set-output-n","errorCode":null,"errorMessage":"write to standard output already set (--output)\\n","messagePattern":"write to standard output already set \\(--output\\)\\\\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"deps/brotli/c/tools/brotli.c","lineNumber":655,"sourceCode":"          if (lgwin_set) {\n            fprintf(stderr, \"lgwin parameter already set\\n\");\n            return COMMAND_INVALID;\n          }\n          lgwin_set = ParseInt(value, 0,\n                               BROTLI_LARGE_MAX_WINDOW_BITS, &params->lgwin);\n          if (!lgwin_set) {\n            fprintf(stderr, \"error parsing lgwin value [%s]\\n\", value);\n            return COMMAND_INVALID;\n          }\n          if (params->lgwin != 0 && params->lgwin < BROTLI_MIN_WINDOW_BITS) {\n            fprintf(stderr,\n                    \"lgwin parameter (%d) smaller than the minimum (%d)\\n\",\n                    params->lgwin, BROTLI_MIN_WINDOW_BITS);\n            return COMMAND_INVALID;\n          }\n        } else if (strncmp(\"output\", arg, key_len) == 0) {\n          if (output_set) {\n            fprintf(stderr,\n                    \"write to standard output already set (--output)\\n\");\n            return COMMAND_INVALID;\n          }\n          params->output_path = value;\n        } else if (strncmp(\"quality\", arg, key_len) == 0) {\n          if (quality_set) {\n            fprintf(stderr, \"quality already set\\n\");\n            return COMMAND_INVALID;\n          }\n          quality_set = ParseInt(value, BROTLI_MIN_QUALITY,\n                                 BROTLI_MAX_QUALITY, &params->quality);\n          if (!quality_set) {\n            fprintf(stderr, \"error parsing quality value [%s]\\n\", value);\n            return COMMAND_INVALID;\n          }\n        } else if (strncmp(\"suffix\", arg, key_len) == 0) {\n          if (suffix_set) {\n            fprintf(stderr, \"suffix already set\\n\");","sourceCodeStart":637,"sourceCodeEnd":673,"githubUrl":"https://github.com/nodejs/node/blob/1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e/deps/brotli/c/tools/brotli.c#L637-L673","documentation":"The `--output=PATH` long option shares the `output_set` flag with `--stdout`/`-c`. Specifying `--output=` when `--stdout` (or another `--output=`) was already set returns COMMAND_INVALID, because the two output destinations are mutually exclusive. The dedicated message adds `(--output)` to disambiguate from the bare `--stdout` duplicate error.","triggerScenarios":"Invoking `brotli -c --output=out file`, `brotli --stdout --output=out file`, or `--output=a --output=b`.","commonSituations":"Aliases that default to `-c` (stdout) colliding with explicit `--output=`; CI scripts that pipe to stdout for logging while a build step sets an output file; copy-paste assembling two snippets.","solutions":["Choose one destination: either `--output=PATH` or `--stdout`/`-c`, not both.","Inspect aliases and `BROTLI_OPTS` for hidden `-c`.","If using `--output=`, remove any prior `-c`/`--stdout` and any prior `--output=`."],"exampleFix":"# before\nbrotli -c --output=out.br input.txt\n# after\nbrotli --output=out.br input.txt","handlingStrategy":"validation","validationCode":"# Enforce mutual exclusion of --output= with --stdout/-c and itself.\ncount=0\nfor a in \"$@\"; do\n  case \"$a\" in\n    --output=*) count=$((count+1));;\n    --stdout|-c) count=$((count+1));;\n  esac\ndone\n[ \"$count\" -gt 1 ] && { echo 'output destination conflict' >&2; exit 2; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Decide output destination (file vs stdout) once, before constructing the command.","Avoid `alias brotli='brotli -c'`; if you must, never combine with `--output=`.","Remember also that `--output=` cannot be used with multiple input files (later parser check)."],"tags":["brotli","cli","argument-parsing","mutually-exclusive-flags","output"],"backgroundTag":null,"analyzedSha":"1b2de5e052fc0fb95fd7fb6846dcec4ade598e9e","analyzedAt":"2026-08-13T00:53:24.642Z","schemaVersion":2},"datasetVersion":"2026-08-13T04:17:16.726Z"}