{"record":{"id":"97da1f82e83e1504","repo":"dagger/dagger","slug":"can-t-assign-multiple-variables-q","errorCode":null,"errorMessage":"can't assign multiple variables: %q","messagePattern":"can't assign multiple variables: %q","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/dotenv/dotenv.go","lineNumber":101,"sourceCode":"\t// Use shell parser for complex cases\n\tparser := syntax.NewParser()\n\tfile, err := parser.Parse(strings.NewReader(line), \"\")\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"parse error: %q: %w\", line, err)\n\t}\n\tif len(file.Stmts) == 0 {\n\t\treturn nil, nil // blank line\n\t}\n\n\tstmt := file.Stmts[0]\n\tcall, ok := stmt.Cmd.(*syntax.CallExpr)\n\tif !ok || len(call.Assigns) == 0 {\n\t\treturn nil, fmt.Errorf(\"parse error: %q: not a bare assignment\", line)\n\t}\n\n\tassigns := call.Assigns\n\tif len(assigns) != 1 {\n\t\treturn nil, fmt.Errorf(\"can't assign multiple variables: %q\", line)\n\t}\n\n\tassign := assigns[0]\n\tif assign.Name == nil {\n\t\treturn nil, fmt.Errorf(\"missing name in variable assignment: %q\", line)\n\t}\n\n\treturn &parsedEntry{\n\t\tname:  assign.Name.Value,\n\t\tvalue: assign.Value,\n\t\targs:  call.Args,\n\t}, nil\n}\n\n// Lookup gets the expanded value of a variable with memoization\nfunc (g *GraphEvaluator) Lookup(name string) (string, bool, error) {\n\t// Check if already expanded\n\tif value, ok := g.expanded[name]; ok {","sourceCodeStart":83,"sourceCodeEnd":119,"githubUrl":"https://github.com/dagger/dagger/blob/82ba2681dbe30d3547a1dc50ea495900ab5b6047/core/dotenv/dotenv.go#L83-L119","documentation":"Fires in parseEntry when a dotenv line parses as a shell statement containing more than one assignment (e.g. A=1 B=2). The dotenv parser supports exactly one variable assignment per line, so multi-assignment lines are rejected.","triggerScenarios":"Thrown at core/dotenv/dotenv.go:101 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Split the line into one assignment per line in the .env file"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"82ba2681dbe30d3547a1dc50ea495900ab5b6047","analyzedAt":"2026-09-05T07:21:37.930Z","contentChangedAt":"2026-09-05T07:21:37.930Z","schemaVersion":2},"datasetVersion":"2026-09-12T12:17:11.808Z"}