diff --git a/util/config.go b/util/config.go index d12774a63..738d6fc55 100644 --- a/util/config.go +++ b/util/config.go @@ -692,6 +692,16 @@ func CastValueToKind(value any, kind reflect.Kind) (res any, ok bool) { res = castStringToBool(fmt.Sprintf("%v", reflect.ValueOf(value))) ok = true } + case reflect.Slice: + // Handle string representations of slices, e.g., `["-u semaphore -b"]` + if str, isString := value.(string); isString { + var arr []string + err := json.Unmarshal([]byte(str), &arr) + if err == nil { + res = arr + ok = true + } + } default: }