function Clicked(Plr) Plr.PlayerGui.ScreenGui.Frame.Visible=true
end
script.Parent.ClickDetector.MouseClick:connect(Clicked)
First of all, it is not a glitch. Server cannot access clientsided content such as items inside a player's playergui, vice versa.
Instead, you can clone the gui and parent it to their playergui.
Hope this helped.
This glitch has happened to me multiple times. I do believe that Guis in starter gui cannot be touched or changed by Server scripts. So try adding in a clone scrip that clones the gui from server storage to the players gui when they join.
Here is an example. Make sure to put this script in serverscriptservice and put the gui into ServerStorage
game:GetService("Players").PlayerAdded:connect(function(plr) game:GetService("ServerStorage").ScreenGui:Clone().Parent = plr.PlayerGui end)