Faits:
A. S._ a déposé une demande de prestations de l'assurance-invalidité le 28 juin 2006. Elle est représentée par Me Agier, selon procuration du 17 septembre 2008.
Le 4 mars 2010, Me Agier a invité l'Office de l'assurance-invalidité pour le canton de Vaud à lui faire parvenir une copie des pièces ajoutées au dossier postérieurement au 22 août 2008. L'office AI y a donné suite le 9 mars suivant. Par lettre du 18 mars 2010, Me Agier a accusé réception des copies que l'office AI lui avait transmises, ajoutant ce qui suit :
J'ai eu la surprise de trouver dans ces pièces une décision de votre assurance datée du 3 juillet 2009, décision qui ne m'a jamais été communiquée, alors que votre assurance me sait depuis le 18 septembre 2008, être le mandataire de Madame S._.
Dès lors, je vous demanderais de bien vouloir procéder maintenant pour ce qui est de la décision que j'ai trouvée dans les pièces envoyées par vous le 9 mars 2010, à une notification correcte.
Par écritures des 27 avril, 25 juin et 30 juillet 2010, Me Agier a renouvelé sa requête de notification régulière de la décision du 3 juillet 2009, à défaut de quoi il saisirait le tribunal cantonal des assurances d'un recours pour déni de justice.
Par lettres des 1er juillet et 25 août 2010, l'office AI a fait savoir à Me Agier qu'il refusait de procéder à une nouvelle notification de cette décision. Pour justifier ce refus, l'office a indiqué, notamment, que le destinataire régulier de la décision du 3 juillet 2009 en avait pris connaissance à réception de son envoi du 9 mars 2010, si bien que la notification initiale imparfaite avait atteint son but malgré l'irrégularité et que dès lors la décision était passée en force à défaut de recours déposé dans les trente jours.
B. Le 15 septembre 2010, S._ a saisi le Tribunal cantonal du canton de Vaud, Cour des assurances sociales, d'un recours pour déni de justice contre le refus de l'office AI de donner suite à sa demande de notification correcte du 18 mars 2010, en concluant à ce que l'office AI fût enjoint de procéder à cette notification.
Par jugement du 31 mai 2011, dont la rédaction a été approuvée le 26 juillet 2011, la juridiction cantonale a déclaré le recours irrecevable.
C. S._ interjette un recours en matière de droit public contre ce jugement dont elle demande l'annulation. Avec suite de frais et dépens, elle conclut principalement à ce que le jugement cantonal soit réformé en ce sens que son recours pour déni de justice soit admis et la cause renvoyée à l'office AI afin qu'il notifie sa décision du 3 juillet 2009; à titre subsidiaire, elle conclut au renvoi de la cause au tribunal cantonal, afin qu'il dise s'il y eu ou non notification de la décision rendue le 3 juillet 2009. Elle sollicite d'être dispensée de verser une avance de frais pour la procédure fédérale, invoquant son indigence.
L'office intimé, le tribunal cantonal et l'Office fédéral des assurances sociales n'ont pas été invités à se déterminer.

Considérant en droit:
1. Il s'agit de déterminer si le refus de l'office intimé de notifier sa décision du 3 juillet 2009, pour les motifs signifiés dans ses écritures des 1er juillet et 25 août 2010, constitue un déni de justice.
2. La recourante a fondé sa requête cantonale sur l'<ref-law>. D'après cette disposition légale, sous le titre marginal "Droit de recours", le recours peut aussi être formé lorsque l'assureur, malgré la demande l'intéressé, ne rend pas de décision ou de décision sur opposition. A cet égard, le tribunal cantonal a rappelé que l'intérêt juridiquement protégé, dans le cadre d'un recours contre un refus de statuer ou pour retard injustifié, est celui d'obtenir une décision qui puisse être déférée à une autorité judiciaire de recours, indépendamment du point de savoir si, sur le fond, le recourant obtiendra gain de cause (<ref-ruling> consid. 2b p. 121).
Les premiers juges ont constaté que l'office intimé avait rendu une décision le 3 juillet 2009, dont le mandataire de la recourante avait pris connaissance le 18 mars 2010 au plus tard. Comme le but avait ainsi été atteint, ils en ont déduit que l'intimé n'avait pas commis un déni de justice formel, mais qu'il avait plutôt notifié sa décision du 3 juillet 2009 de manière irrégulière, le cas échéant qu'il avait omis de la notifier. Le recours pour déni de justice devait en conséquent être déclaré irrecevable.
3. La recourante se prévaut d'une constatation manifestement erronée des faits pertinents. Elle demande au Tribunal fédéral de les compléter en vertu de l'<ref-law>, alléguant qu'elle n'a pas reçu personnellement la décision de l'intimé du 3 juillet 2009. Elle en déduit que cette décision lui est inopposable, à défaut de notification, ajoutant que les premiers juges auraient dû retenir un déni de justice de la part de l'office intimé dès lors que ce dernier n'a pas voulu lui notifier ladite décision.
Par ailleurs, la recourante estime que le raisonnement du tribunal cantonal, selon lequel l'envoi du 9 mars 2010 à son mandataire vaudrait notification, est dépourvu de fondement.
4. A la suite de la demande du 18 mars 2010, l'office intimé a clairement exposé à Me Agier, par lettre du 1er juillet 2010, les motifs pour lesquels il n'entendait pas notifier à nouveau la décision qu'il avait rendue le 3 juillet 2009. Le 25 août 2010, l'intimé a précisé sa position en se référant à l'arrêt I 587/06 du 7 septembre 2006, en particulier à son considérant 5.1. Dans cet arrêt, le Tribunal fédéral des assurances avait rappelé notamment que si une notification irrégulière ne pouvait entraîner aucun préjudice pour les parties, la décision affectée d'un tel vice n'était pas nécessairement nulle; le principe légal avait bien plutôt pour effet que la protection recherchée était déjà réalisée lorsqu'une notification objectivement irrégulière atteignait son but malgré cette irrégularité.
La recourante reconnaît que son mandataire - qui était constitué selon procuration du 17 septembre 2008 - a pris connaissance de la décision du 3 juillet 2009 au plus tard le 18 mars 2010. Cette décision n'a certes pas été communiquée à son destinataire selon les voies usuelles, mais il n'en demeure pas moins qu'elle est finalement parvenue à la personne qui devait initialement la recevoir. Dans ces conditions, l'intimé n'avait aucune obligation de notifier une nouvelle fois sa décision à la recourante ainsi qu'elle l'avait exigé, car elle disposait déjà de cet acte administratif et ne pouvait se plaindre de ce que l'intimé n'ait pas rendu de décision sur ses droits. Il s'ensuit que le recours pour déni de justice, au sens de l'<ref-law>, n'était pas fondé.
5. Comme on vient de l'exposer, la décision du 3 juillet 2009 est parvenue à la personne qui devait la recevoir, si bien que la conclusion subsidiaire du recours est mal fondée pour autant qu'elle soit recevable (<ref-law>).
6. Eu égard aux circonstances particulières du cas d'espèce, il sied de renoncer à la perception de frais de procédure (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Il n'est pas perçu de frais judiciaires.
3. Le présent arrêt est communiqué aux parties, à la Cour des assurances sociales du Tribunal cantonal du canton de Vaud et à l'Office fédéral des assurances sociales.
Lucerne, le 12 décembre 2011
Au nom de la IIe Cour de droit social
du Tribunal fédéral suisse
Le Président: Meyer
Le Greffier: Berthoud