Ozone layer. Make
Make your planet to circle a neutron star, O giant or other very hot star, and the high level of UV radiation would ionize the atmosphere, making ozone and nitrogen oxides that blocks out visible light on the planet. However
However, since the star radiates in primarily soft X-rays that penetrates this layer well, plant life on the surface can use this radiation for photosynthesis. Think things like melanin or other types of radiotrophic synthetic process. Since
Since the star make little radiation in the visible spectrum(to not boil or scorch the planet), you will have an overcast sky with the ionized ozone layer, little light from both the star and from the absorption of the atmosphere, surface plant life which don’t use visible wavelengths and all the things you can get for your requirement. Add in magnetic fields and particles that comes with the hot star you get magic-like abilities, for the human race, they just arrived off-world, therefore does not have eyes that can see the X-rays like other life on this planets can, giving a dark overcast impression.