For one thing, Charles can’t be turned on before VPN. So closing VPN after turning on Charles won’t work either. Sometimes Charles doesn’t work with VPN at all.
If you don’t quit Charles the normal way, it’s gonna left some dirty proxy settings behind. Which leads to abnormal behaviours including being able to receive Skype messages yet not being able to connect to localhost as well as WIFI.
How to solve: