multica-ai/multica · error
--custom-env must be a valid JSON object of string keys and
Error message
--custom-env must be a valid JSON object of string keys and string values
What it means
Error "--custom-env must be a valid JSON object of string keys and string values" thrown in multica-ai/multica.
Source
Thrown at server/cmd/multica/cmd_agent.go:1211
// ---------------------------------------------------------------------------
// parseCustomEnv parses the --custom-env flag value (a JSON object literal)
// into a string map suitable for the request body. The clear-all signal is
// the explicit JSON object "{}"; empty or whitespace-only input is rejected
// because for the stdin/file channels it almost always means an upstream
// failure (missing file, unset pipe, set -o pipefail off) rather than a
// deliberate clear. Treating it as "clear" silently wipes secrets.
//
// The payload is treated as secret material: parse errors never wrap the
// underlying json error, because json.SyntaxError / UnmarshalTypeError can
// surface short fragments of the input on some malformed inputs.
func parseCustomEnv(raw string) (map[string]string, error) {
if strings.TrimSpace(raw) == "" {
return nil, fmt.Errorf("--custom-env: empty input; pass '{}' to clear")
}
var ce map[string]string
if err := json.Unmarshal([]byte(raw), &ce); err != nil {
return nil, fmt.Errorf("--custom-env must be a valid JSON object of string keys and string values")
}
if ce == nil {
ce = map[string]string{}
}
return ce, nil
}
// parseCustomArgs parses the --custom-args flag value (a JSON array of
// CLI argument strings). The error message is content-free for the same
// reason as parseCustomEnv: although custom_args is not a dedicated
// secret channel today, it routinely carries values like "--api-key=…"
// for runtime providers, and json.Unmarshal errors can echo short
// fragments of malformed input.
func parseCustomArgs(raw string) ([]string, error) {
var ca []string
if err := json.Unmarshal([]byte(raw), &ca); err != nil {
return nil, fmt.Errorf("--custom-args must be a valid JSON array of strings")
}View on GitHub (pinned to 2c0912b6ec)
Solutions
- Pass a valid JSON object with string keys and string values for --custom-env.
When it happens
Trigger: Thrown at server/cmd/multica/cmd_agent.go:1211 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15).
Data as JSON: /api/errors/33c35a90dc542bcf.
Report an issue: GitHub.