There's nothing like fresh guacamole, but even after a short period it will turn brown on top. Lemon or lime juice will hold it off for a while, but can alter the taste. Plastic wrap varies in effectiveness. The easiest solution? A thin layer of water.
It may sound crazy, but here's why it's brilliant. Over at The Kitchn, Faith Durand explains it this way:
OK, you say, this sounds weird — maybe even gross. Water on the guacamole? But water is a perfect barrier against oxygen, and since guacamole is dense, a little liquid won't water it down. I pour in a small amount of water to cover the top of the guacamole and refrigerate it for up to three days. After I take it out and pour off the water, I stir up the guacamole and the texture is no different than when it was made.
This method is similar to the way cooks keep pesto bright and green with a thin layer of olive oil on top — it's keeps the air out and reduces oxidation.
Use a small container, and dribble lukewarm water down the sides of the container and onto the top of the guacamole. You want it smoothed over so the water doesn't just slip down into it. Around a centimetre will do the trick. When you're ready to eat, just pour the water off, stir, and dig in. Faith notes that you can keep your guacamole bright and green for up to three days in the fridge using this method.
The Best Way to Keep Guacamole Green [The Kitchn]