Big read ahead if you want to learn. Otherwise there’s a TL:DR at the bottom
When you place glass between your scene and your light source, you turn all the light caustic. Caustic light is light that has passed through or off some reflective or refractive material (the lensing on your lamp geometry), before bouncing off a diffuse surface (your cave walls) and into the camera.
Traditionally in path tracing, one of the first steps upon bouncing off a diffuse surface is to cast a shadow ray towards a light source to see how illuminated the surface is before bouncing off to other surfaces to gather global illumination. A shadow ray is simple: it’s a straight line from surface to a light source, and if it encounters anything other than a Transparent material it considers the surface to be in shadow.
The important thing to note is that Glass isn’t the same as Transparent. Transparent materials don’t change the direction of a path. They go through in a straight line and maybe pick up a bit of tinting on the way. Glass is refractive, it will change the direction of a light ray. Ergo, a shadow ray is blocked by Glass.
Cycles sucks at tracing caustic light. Have you ever tried to render a gemstone or a crystal or something? You need to throw thousands upon thousands of samples to cleanly render caustics. Some people just disable caustics to avoid the noise, and fake it with other methods.
They way you have your scene set up is causing the entire scene to be caustic. If you’ve disabled caustic light paths in the render properties, you won’t get any light at all in your scene. If you enable caustic light paths, you will have a ridiculous amount of noise and will need to render tens of thousands of samples.
Have a look at the Light Paths Node. This guy is a cheat code to clean, fast renders. With the Is Shadow Ray output, you can tell your shaders to let the shadow rays through without interference, while keeping your fancy looking lamp geometry. It’s easy peasy. All you need is the Light Paths Node, Mix Shader Node, and a Transparent BSDF node, then you do this:
This should go on the glass material you’ve created for the lens. Just replace the node that says “Your Node Group” with your existing node tree. You can hook up the displacement directly to the material output. You can tint the Transparent BSDF if you want to color the light, or you can do that with the light itself.
TL:DR - Light Paths Node is your friend. Copy nodes above