In short, (almost) forever is not an exaggeration. Once the drugs reach the hair follicles, they grow inside the hair. Because there is no blood circulation inside the hair, the drugs can't be flushed out. The only thing that does flushes out the drugs a bit are regular shampoos. When used for long period of time, some part of the drugs can be washed out. However, if you let your hair grow for 5 years, your hair tips can still test positive for drugs. Fortunately, the drug testing labs require only 1.5 inch long hair strands from the scalp. That is a 90-day long hair. Thus hair drug tests only test for the drug use that happened in the last 90 days.