If a person who is addicted to smoking is poor, then we can give the zakaah to his wife and she can buy things herself that are needed for the house, and we can tell him: We have zakaah, do you want us to buy you such and such of essential needs? We can ask him to delegate us to buy these things, and in this way we will achieve the desired goal and avoid something haraam – which is helping him to commit sin, because the one who gives a dirham to a person to buy cigarettes with has helped him to commit sin and has done something that Allaah has forbidden, as He says (interpretation of the meaning):
“do not help one another in sin and transgression”
[al-Maa’idah 5:2]
Majmoo’ Fataawa al-Shaykh Ibn ‘Uthaymeen (17/question no. 262)
He was also asked: Is it permissible to give zakaah in the form of consumable goods and clothing, if it is known that in the case of some poor families it is better to buy these things for them, because there is the fear that if they are given cash, they will spend it on things in which there is no benefit?
He replied:
This is an important matter which people need to know: if the people of this household are poor, and if we give them money they will waste it by buying luxuries and things that are of no benefit, so is it permissible for us to buy them essential needs and give them to them?
What is known to the scholars is that it is not permissible to do this, i.e., it is not permissible for a person to buy specific things with his zakaah and give them instead of money. They said: That is because money is more beneficial to the poor, because he can spend the money however he wants, unlike specific goods of which he may have no need, in which case he will sell them for less.
But there is a way around this if you fear that if you give money to this family, they will spend it on things they do not need. You can say to the head of the household – whether that is the father, the mother, the brother or the uncle: I have zakaah, what are the things you need, so that I can buy them for you and send them to you? If you do it in this way, that is permissible, and the zakaah will be given as it should be.
Majmoo’ Fataawa Ibn ‘Uthaymeen, (18/question no. 643)
And Allaah knows best.