There are three reasons why a chameleon will keep its mouth open: they are too hot and are trying to thermoregulate, they have a respiratory infection and are cannot breathe properly, or they are trying to show aggression. What are your cage temps, basking and ambient? Is he opening his mouth when no one is around or when you come up to the cage?