Depuis le 10 novembre 2026, Cursor ne réserve plus Projects au pilotage individuel : l'espace de travail devient collaboratif. Votre agent coordinateur peut échanger avec celui d'un collègue, détecter des modifications de code qui se chevauchent et transmettre une pull request inachevée. Pour l'utiliser sans risque, il faut Cursor 3.26.13 ou une version ultérieure, un compte Teams et des règles claires autour des fichiers de contexte partagés : une hypothèse non validée par un agent ne doit pas réécrire le plan de toute l'équipe dans le dépôt.
Projects passe du coordinateur unique au travail d'équipe
Cursor Multiplayer Projects fait évoluer la bêta Projects mono-utilisateur du 10 septembre 2026 vers un espace partagé où chaque membre pilote son propre chat privé avec un coordinateur, tout en utilisant le même Task Board et le même Project Agent Store (/cursor/stores/self). D'après la documentation officielle de Cursor Projects, la mise à jour du 10 novembre dissocie les voies d'exécution personnelles de l'état partagé de l'équipe selon huit dimensions clés :
| Dimension d'architecture | Projects à coordinateur unique (10 sept. 2026) | Projects multijoueur en équipe (bêta du 10 nov. 2026) |
|---|---|---|
| Participants humains | 1 développeur par Project | Plusieurs collègues au sein de la même équipe Cursor |
| Agents coordinateurs | 1 coordinateur par Project, qui planifie et délègue sans écrire lui-même le code | 1 coordinateur dédié par membre, chacun dirigeant son propre chat individuel |
| Flotte d'agents workers | Créée et supervisée par le coordinateur du propriétaire seul | Créée par chaque membre ; visible par toute l'équipe dans le Task Board partagé |
| État partagé de l'équipe | Aucun entre les comptes | 2 ressources partagées : Task Board + Project Agent Store (/cursor/stores/self) |
| État privé de l'utilisateur | Local au Project individuel et à son compte | Store utilisateur personnel (/cursor/stores/user), historique du chat individuel et connecteurs privés |
| Relais entre collègues | Copier-coller manuel entre développeurs, en dehors de Cursor | Messagerie directe de coordinateur à coordinateur via des discussions latérales dérivées Chat with {name}'s agent |
| Attribution de la facturation | Entièrement facturée au propriétaire du Project | Le chat et les agents lancés par chaque membre s'exécutent et sont facturés sous l'identité de ce membre |
| Version client minimale | Cursor 3.21.9+ (référence Enterprise) | Cursor 3.26.13+ requis pour le partage multijoueur |
Conditions d'accès et mise en place en deux étapes
Selon la documentation Cursor Projects, partager un Project multijoueur exige un compte Cursor Teams ou Enterprise, le client 3.26.13 ou ultérieur, ainsi qu'un accès individuel au dépôt pour chaque personne invitée. Le partage multijoueur n'est pas disponible avec les formules Free, Plus et Legacy Hobby. Il est également impossible d'inviter des collègues si Privacy Mode (Legacy) est activé, si le Project s'exécute sur des machines auto-hébergées, ou s'il est archivé.
Étape 1 : créer le Project de base en 4 actions
Avant d'ajouter des collaborateurs, le propriétaire initialise l'espace de travail dans la fenêtre Agents de Cursor :
- Ouvrir Projects dans la navigation de gauche : Ouvrez la fenêtre Agents, repérez la section Projects dans la barre latérale, puis choisissez New Project.
- Nommer le Project : Choisissez une icône et saisissez un nom précis, centré sur le résultat attendu ; laissé vide, il devient
New Project. Au lieu d'un Project monolithique par dépôt, découpez-les par livrable : un pour une migration de schéma, un pour une fonctionnalité répartie sur plusieurs PR et un pour la maintenance récurrente de la CI, par exemple. - Choisir le workspace et le modèle coordinateur : Dans Workspace, sélectionnez le dépôt GitHub cible ; si GitHub n'est pas lié, cliquez sur Connect GitHub. Dans Model, sélectionnez le modèle qui jouera le rôle de coordinateur.
- Cliquer sur Create Project : Cursor provisionne un ordinateur cloud pour le Project et ouvre un fil individuel avec votre agent coordinateur.
Si vous avez déjà cadré le travail dans un chat Cloud Agent principal éligible, faites glisser ce chat depuis la barre latérale sur la ligne du Project, ou ouvrez son menu latéral et choisissez Add to Project, afin que le coordinateur récupère l'historique précédent. Avec un chat local, Cursor le convertit d'abord en Remote Control.
Étape 2 : inviter des collègues en 3 actions
Une fois le Project actif et relié à un dépôt, son propriétaire ou tout membre existant peut inviter des collègues en suivant les trois étapes documentées :
- Ouvrir le menu d'invitation : Sélectionnez Invite en haut du Project ; après la première invitation, ce contrôle devient une rangée d'avatars.
- Inviter ou copier le lien de partage : Recherchez une personne par son nom ou son e-mail sous Invite teammates to this project, puis envoyez l'invitation. Vous pouvez aussi choisir Copy link afin de partager l'URL du Project dans Slack ou Linear.
- Accepter l'invitation et obtenir un chat dédié : La personne invitée clique sur Accept Invite dans la carte d'invitation du Project. Elle reçoit son propre chat Project, son agent coordinateur et un accès en lecture-écriture au contexte partagé.
Gérer les membres et les liens
Les limites d'accès sont appliquées à la fois au niveau de l'équipe Cursor et de celui du dépôt Git :
- Même équipe, même dépôt : Les utilisateurs de comptes personnels et les développeurs d'équipes Cursor externes ne peuvent pas rejoindre le Project. Chaque personne invitée doit par ailleurs disposer de son propre accès au dépôt concerné.
- Révoquer un lien diffusé trop largement : Seuls les membres existants du Project peuvent copier le lien d'invitation. Si celui-ci circule au-delà du nécessaire, le propriétaire peut ouvrir le menu d'invitation et sélectionner Reset Share Link pour invalider toutes les copies précédentes.
- Quitter ou retirer un membre : Tout participant peut sélectionner Leave Project dans le menu latéral, puis revenir plus tard avec une invitation ou un lien valide. Le propriétaire peut retirer un participant via Remove dans le menu d'invitation.
Contexte partagé (/cursor/stores/self) ou store personnel (/cursor/stores/user)
Comme le précise la documentation Cursor Projects Context and Personal Store, Cursor Multiplayer Projects sépare la configuration privée d'un développeur des connaissances communes à l'équipe en montant deux chemins de système de fichiers distincts dans l'environnement de chaque agent : /cursor/stores/self pour le contexte partagé du Project et /cursor/stores/user pour le store utilisateur personnel. Selon les règles officielles, lorsqu'un collègue rejoint un Project partagé, son coordinateur peut proposer de copier des préférences de travail pertinentes de /cursor/stores/user dans les règles du Project ; seules les entrées explicitement approuvées par l'utilisateur sont copiées.
| Couche de stockage | Chemin système | Accès en lecture / écriture | Contenu stocké | Cycle de vie entre les Projects |
|---|---|---|---|---|
| Project Agent Store (affiché comme Context dans l'interface) | /cursor/stores/self | Lu et écrit par les agents de tous les membres du Project | Documents d'exigences, diagrammes d'architecture, spécifications techniques, maquettes UI, instructions de test du codebase et décisions d'équipe | Limité à ce Project précis ; se synchronise entre Cloud Agents et machines locales |
| Personal User Store | /cursor/stores/user | Lu et écrit uniquement par les agents de cet utilisateur | Préférences de travail personnelles et compétences utilisateur | Suit l'utilisateur d'un Project à l'autre sans devenir visible pour ses collègues |
Comment les coordinateurs échangent via des discussions latérales non fiables
Lorsqu'un coordinateur a besoin d'informations sur le travail d'un collègue, la spécification multijoueur de Cursor Projects l'autorise à contacter directement le coordinateur de ce collègue en créant, depuis son chat normal, une discussion latérale dérivée nommée Chat with {name}'s agent. Cursor limite les actions possibles dans cette discussion afin qu'une requête entrante n'interrompe pas le fil actif du destinataire et ne puisse pas exfiltrer de secrets.
Dans l'annonce multijoueur de Cursor du 10 novembre 2026, le product manager Aryaman Khandelwal a présenté deux scénarios majeurs de coordination entre agents :
- Chevauchement entre UI et fonctionnalité : Un ingénieur ajoute des avis clients à une page produit pendant qu'un designer refond cette même page. Leurs coordinateurs détectent tôt le recouvrement et intègrent le composant d'avis à la nouvelle mise en page plutôt que de devoir le refactorer plus tard.
- Ordonnancement du schéma et des lecteurs : Un développeur modifie un schéma de base de données tandis qu'un collègue construit une fonctionnalité qui lit cette base ; leurs agents conviennent en amont de l'ordre des opérations pour éviter un conflit d'intégration au moment du merge.
Comme l'indique la section How coordinators message each other des docs officielles de Cursor Projects, cet échange obéit à quatre règles strictes :
- Requête sortante : Le coordinateur du collègue A identifie une dépendance envers le travail du collègue B et contacte directement le coordinateur de B.
- Création d'une discussion latérale dérivée : Le message entrant crée un chat dérivé du chat normal du collègue B, nommé
Chat with {Teammate A}'s agent. - Évaluation comme contenu non fiable : Les messages entrants des coordinateurs sont étiquetés comme des entrées d'agent. Le destinataire est informé de l'agent du collègue expéditeur et traite le message comme un élément non fiable à évaluer, non comme une demande directe de son propre utilisateur.
- Réponse avec le savoir du chat principal et notification au tour suivant : La discussion latérale répond à partir des connaissances disponibles dans le chat principal du destinataire, puis transmet la réponse au coordinateur émetteur. Le chat principal du collègue B n'est pas interrompu immédiatement : il reçoit une note sur cet échange à son tour suivant.
La documentation Cursor Projects définit les limites d'autorisation exactes de chaque discussion latérale Chat with {name}'s agent :
Action de la discussion latérale (Chat with {name}'s agent) | Statut documenté | Conséquence opérationnelle pour l'équipe |
|---|---|---|
| Répondre avec les connaissances du chat principal du destinataire | Autorisé | Permet à l'agent destinataire de répondre à des questions d'architecture ou d'avancement à partir du contexte de chat existant |
| Lire le Task Board partagé | Autorisé (lecture seule) | Peut consulter les affectations, les travaux actifs et les PR associées |
| Lecture, arrêt ou archivage du chat latéral par l'utilisateur humain | Autorisé | Vous pouvez inspecter la réponse de votre agent, arrêter un échange en cours ou archiver le fil |
| Envoi de messages dans le chat latéral par l'utilisateur humain | Bloqué | Les discussions latérales ne peuvent pas recevoir de messages utilisateur (Side chats only answer) |
| Partage de secrets, d'identifiants ou de tokens | Bloqué | Les discussions latérales n'ont pas le droit de divulguer des identifiants ou tokens |
| Partage des fichiers personnels ou des données de connecteurs de l'utilisateur | Nécessite une demande préalable | L'agent destinataire doit demander l'autorisation avant de partager les fichiers personnels ou les données de connecteurs de son utilisateur |
| Modifier le Task Board partagé | Bloqué | Les discussions latérales peuvent lire le tableau des tâches, mais pas le modifier |
| Poser des questions à l'utilisateur ou demander un accès | Bloqué | Empêche les sollicitations d'agents de collègues de questionner le destinataire ou de réclamer des permissions |
| Connecter le contrôle de source ou gérer les routines | Bloqué | Empêche les modifications inter-agents des liens de contrôle de source ou des routines automatisées |
Du plan à la livraison : les failles de décision de la bêta
Les exemples officiels de Cursor mettent en avant les rotations d'astreinte, où le coordinateur de l'ingénieur entrant récupère les incidents en cours, les tableaux Linear et les fils Slack. Mais les retours sur la bêta Projects en solo font ressortir quatre défaillances opérationnelles tout au long des quatre étapes du cycle de vie ; elles imposent des garde-fous en équipe :
| Étape du cycle | Flux multijoueur idéal selon Cursor | Défaillances observées dans les retours de bêta solo | Garde-fou recommandé pour l'équipe |
|---|---|---|---|
| 1. Planification et synchronisation du contexte | Les décisions prises dans un chat alimentent /cursor/stores/self, afin que les agents des collègues partagent le contexte. | Les coordinateurs écrasent à répétition les Project Notes modifiables, réduisant une justification validée à des libellés "done" ou enregistrant comme décisions des valeurs par défaut non confirmées par l'agent. | Scindez /cursor/stores/self entre un plan.md modifiable et un decisions.md en ajout uniquement dans Git, comme décrit plus bas. |
| 2. Délégation et exécution en parallèle | Le coordinateur de chaque collègue délègue des tâches à des workers cloud, ou à des agents locaux pour les tests locaux. | Les Projects cloud de longue durée utilisent des checkouts de dépôt obsolètes si personne ne leur demande de pull ; les coordinateurs cloud ne lisent que les configurations MCP cloud ; le déploiement de nombreux workers cloud consomme vite les quotas. | Demandez aux coordinateurs d'exécuter git pull avant toute délégation ; configurez les MCP dans les paramètres cloud ; utilisez des worktrees locaux via agent worker start. |
| 3. Coordination entre agents | Les coordinateurs échangent pour ordonnancer les changements de schéma et d'UI avant de coder. | Les agents partagent des fichiers de contexte plutôt que de véritables verrous de fichiers : deux flottes de workers qui modifient le même répertoire peuvent donc toujours entrer en collision au merge. | Définissez le propriétaire de chaque tâche par répertoire ou chemin de fichier dans le Task Board avant de lancer des workers. |
| 4. Revue de PR et relais d'astreinte | Les abonnements surveillent les PR, les exécutions CI et les canaux Slack afin de corriger les échecs et transmettre le travail actif. | Plusieurs agents abonnés, qu'il s'agisse du coordinateur, du worker initial ou d'un agent correctif, répondent aux mêmes commentaires de revue ou écrasent les fichiers d'état. | Appliquez la règle 1 humain / 1 agent par PR ci-dessous et évitez les abonnements qui se recouvrent. |
Project Notes modifiables : le risque des erreurs partagées
Dans un test terrain individuel de 3 jours de la bêta Cursor Projects, publié sur le Cursor Community Forum et couvrant 5 sessions, environ 14 heures, 20 agents, 32 tâches, 49 tours d'agent et 5 pull requests dont 4 fusionnées, le développeur Lutz Leonhardt a examiné le dossier de contexte synchronisé et les transcriptions de l'orchestrateur. La délégation et la livraison ont bien fonctionné, avec la correction des 18 problèmes signalés par un bot de revue Codex. La couche de mémoire du Project a toutefois révélé deux défaillances qui deviennent encore plus risquées dans un store multijoueur partagé :
- 111 réécritures de notes pour 1 lecture explicite : Au cours du test de 3 jours, le coordinateur a réécrit le fichier Project Notes 111 fois en remplaçant le fichier entier, mais ne l'a lu explicitement qu'une seule fois. Le jalon 1 avait disparu des notes avant le début de l'archivage, le deuxième jour ; une validation explicite concernant l'analyse LLM de podcasts a été réduite à
"done"après deux réécritures. Le coordinateur a donc redemandé la même validation le lendemain. - Des valeurs par défaut non approuvées enregistrées comme décisions : Après avoir listé 5 mots-clés et 3 questions ouvertes, le développeur a interrogé le coordinateur au sujet d'une clé API et sur le possible démarrage du jalon 2. Le coordinateur a interprété des valeurs par défaut non confirmées comme
"accepted for the start"et lancé un agent qui a implémenté un adaptateur cron toujours actif, en contradiction avec son propre conseil précédent. Dans un autre échange, le coordinateur a nié avoir reçu un relais de worker qu'il avait déjà exécuté, puis a inscrit cette fausse chronologie comme règle de workflow dans le dossier de contexte.
Le rapport de Leonhardt portait sur Projects en solo. En multijoueur, les agents de chaque collègue lisent et écrivent dans /cursor/stores/self : une note polluée ou une valeur par défaut d'agent non vérifiée peut donc influencer n'importe quel agent d'équipe qui lit ensuite le store partagé. Comme l'a relevé le développeur @avisinghdotdev sur X après le lancement multijoueur :
"Honnêtement, je n'aime pas l'idée qu'un agent parle avec l'agent de mon collègue, surtout s'ils ont des ensembles de règles et de compétences distincts. Une seule production bâclée peut dégrader la qualité." — @avisinghdotdev
Garde-fou recommandé pour les Projects multijoueur : Ne laissez pas les coordinateurs utiliser un unique fichier Markdown modifiable dans /cursor/stores/self à la fois comme bloc-notes et registre de décisions. Configurez les règles du Project pour séparer l'état en deux fichiers :
- Un
plan.mdmodifiable pour l'état des tâches et les pointeurs de branches actives. - Un
decisions.mdcommité dans le dépôt et régi par une règle d'agent en ajout uniquement, avec revue des diffs Git ou protection de branche quand une application stricte est nécessaire. Il doit enregistrerdate,decided_by(human:@handleouagent:proposed),status(proposed,accepted,superseded),applies_to(glob de chemin de fichier) et unerationaled'une ligne.
Checkouts obsolètes, MCP cloud et relais via worktrees locaux
La deuxième série de problèmes de la bêta vient de l'architecture d'exécution cloud par défaut de Cursor. À partir de retours utilisateurs vérifiés dans le rapport Day 7 sur Cursor Projects et de fils r/cursor, quatre pièges opérationnels concernent les équipes qui adoptent Projects :
- Checkouts Git obsolètes dans les Projects de longue durée : Un Project cloud persistant ne récupère pas automatiquement les changements fusionnés depuis
main(rapport Day 7 R1 ; le personnel de Cursor a confirmé qu'il s'agit du comportement attendu et a conseillé de demander un pull au coordinateur). En multijoueur, demandez systématiquement à votre coordinateur d'exécutergit pullavant de déléguer de nouvelles tâches. - Chargement des serveurs MCP uniquement depuis le cloud : Le coordinateur étant un Cloud Agent, il lit uniquement les serveurs Model Context Protocol (MCP) configurés dans les paramètres cloud Cursor (rapport Day 7 R6). Les serveurs MCP configurés seulement dans votre éditeur desktop local ne sont pas chargés dans le coordinateur du Project.
- Le piège du réglage « No self-hosted workers available » : Pour exécuter des tests locaux depuis un Project cloud, activez Remote Control, soit les workers locaux auto-hébergés, dans
Settings > Agents, puis lancezagent loginsuivi deagent worker startà la racine du dépôt. Activer Remote Control peut toutefois aussi activer Self-hosted Machines et l'option Require Self-hosted Machines and Personal Machines dans le tableau de bord de l'équipe. Cette option bloque les Cloud Agents et Projects dans le cloud de Cursor. Les administrateurs doivent désactiver ce réglage Require pour conserver une exécution hybride cloud/local. - Consommation de tokens cloud : Exécuter 10 à 20 sous-agents cloud en parallèle consomme rapidement l'usage inclus dans l'abonnement. Comme l'a signalé l'utilisateur
r/cursoru/Shirc sur Reddit :
"Projects a du potentiel, mais pour l'instant c'est un peu le bazar et ça va dévorer les tokens." — u/Shirc dans r/cursor
Pour limiter cette consommation dans ce même fil r/cursor, le développeur u/dryu12 conseille de choisir Composer comme modèle coordinateur et d'écrire des règles explicites sur les modèles attribués à chaque tâche déléguée. Si l'équipe utilise aussi des bots de revue CI externes ou des scripts d'agents personnalisés hors de la facturation intégrée de Cursor, faire passer ces appels API par AIReiter permet d'associer des modèles économiques comme DeepSeek V4.1 Flash à des reviewers comme Claude Opus 5.5 sur un solde unique à l'usage.
Conflits de revue : chaque pull request doit avoir un propriétaire
D'après la documentation sur les abonnements de Cursor Projects, dès qu'au moins 1 abonnement existe — surveillance d'un canal Slack, de l'activité d'une PR, des exécutions CI d'une branche ou d'un horaire tel que every day at 8:00 AM — une pastille Listening apparaît au-dessus du champ de saisie du chat.
Dans le test individuel de 3 jours de Leonhardt, le traitement des revues de PR était déjà ambigu : le coordinateur, le worker auteur de l'implémentation initiale et les agents correctifs créés ensuite pouvaient tous réagir aux événements de revue. Sur une PR, le coordinateur a demandé deux fois à l'auteur des correctifs que l'agent initial était déjà en train d'apporter ; sur une autre, 3 agents ont réécrit le même fichier d'état en laissant le mauvais auteur enregistré.
Lorsque plusieurs collègues font tourner des coordinateurs dans le même dépôt, abonner plusieurs coordinateurs aux événements de PR de l'ensemble du dépôt augmente le risque de commits correctifs dupliqués et de tours cloud gaspillés. Comme l'a résumé le développeur @LabubuNoBB sur X :
"Le problème n'a jamais été de faire communiquer les agents. Le vrai sujet, c'est de savoir qui possède quoi lorsque deux d'entre eux veulent modifier le même fichier." — @LabubuNoBB
Règle recommandée de propriété des PR : Attribuez un propriétaire humain et un agent désigné à chaque PR dans le Task Board partagé, y compris la responsabilité de tous les commentaires de revue sur cette branche. Limitez les abonnements du coordinateur de chaque collègue à ses propres PR plutôt qu'à des jokers couvrant tout le dépôt.
Choisir entre Project partagé et chats séparés
Avant de transférer un workflow d'équipe dans un Cursor Project partagé, confrontez la structure de vos tâches aux contraintes vérifiées de la bêta 3.26.13+ :
| Scénario d'ingénierie | Mode recommandé | Configuration coordinateur et workers | Garde-fou avant lancement |
|---|---|---|---|
| Fonctionnalité transverse avec dépendances schéma + UI (2 à 5 ingénieurs et designers touchant des endpoints couplés) | Cursor Project multijoueur | 1 coordinateur par collègue ; Task Board partagé + spécifications dans /cursor/stores/self | Définissez la propriété des répertoires par collègue dans le Task Board et consignez les choix acceptés dans un decisions.md en ajout uniquement dans Git. |
| Rotation d'astreinte et relais d'incidents en équipe | Cursor Project multijoueur | L'ingénieur entrant rejoint le Project ; le coordinateur sortant transfère les tâches actives au coordinateur entrant | Abonnez uniquement le coordinateur de l'astreinte active au canal Slack des bugs et demandez-lui d'exécuter git pull lors du passage de relais. |
| Grande migration répétitive (par ex. plus de 400 fichiers sur des dizaines de PR) | Project à coordinateur unique (1 ingénieur lead) ou multijoueur découpé par répertoire | Validez le modèle de migration sur un petit lot initial ; Flavio Copes conseille de commencer par les 5 premiers composants et de garder les PR sous 300 lignes, avant de déployer des workers cloud parallèles | Appliquez la règle 1 humain / 1 agent par PR afin que plusieurs coordinateurs ne lancent pas d'agents correctifs en doublon sur les commentaires de revue. |
| Dépôts aux exigences strictes de résidence du code (Privacy Mode Legacy ou pools de workers auto-hébergés) | Cursor Agents locaux / Worktrees (multijoueur indisponible) | Agents IDE locaux ou runners individuels auto-hébergés | Conservez le travail dans des chats locaux ; les Projects partagés nécessitent des Cloud Agents et stockent le code actif dans le cloud de Cursor pendant l'exécution. |
| Correctif urgent dans un seul fichier, webhook de paiement ou logique d'authentification | Chat Cursor standard individuel | Chat direct avec un agent local et revue manuelle du diff par un humain | Évitez Projects : la délégation par coordinateur et le démarrage cloud ajoutent de la latence et consomment des tokens sans bénéfice de coordination multi-PR. |