Which is correct? For example:
That can have long-run benefits.
That can have long run benefits.
I think the word you're looking for is long-term. We refer to long-term benefits or long-term goals. Long run would make more sense like this:
I know it seems difficult now, but these changes will make things better in the long run.
Long-term is hyphenated because it's a compound adjective. The long run is not; I'm pretty sure it's a noun phrase.