I am making an animation with a green background. When a lamp shines on my mesh, the background somehow makes the lamp shine on my mesh green as if the lamp was shining on it through green glass. How do I make this not happen? My mesh is opaque, has a diffuse BSDF, and is white. Thanks in advance.
When you are using any color (or image) as background in the world settings you have to imagine a shpere that completely surrounds the scene and that is emitting colored light from every point.
There are a few alternatives.
One is to have two different shaders for the background, and control them using a light path node, so that difuse rays are a neutral color and the rest are green.
You can use a neutral color (or no background at all) for the background and enable transparency (film transparent), and then add the background color in the compositor using alpha over.
I hope you are not putting green behind the object with the idea of using a chroma key later on to take away the background. If that is the case then just render with a transparent background and save in a format that can handle an alpha channel (EXR or TIFF).