That stinks. But, as we all know when it comes to customer service, if you are at least being communicated to and a solution is attempting to be resolved, it goes a long way to good relations.
Tell your customer what steps you are taking. What would he/she like to see happen. If they want the sweater re-dyed, tell them that you must first speak with the dye manufacturer to find out what went wrong because you don't want to dye the sweater or give new yarn if it will just do it again. If they just want their money back, then do that, with apologies and a thank you for contacting you about the problem which you are attempting to fix, and a coupon for money off their next purchase. Try to keep the customer.
I know you can do it. It wasn't your fault and your willing to make it right. You're the kind of supplier everyone loves to know.