Relationships
#3231 vercel/projects update: always resends the unchanged project name, which Vercel rejects with 409 "already exists"
Opened by kagarmoe · 10/10/2026
Summary
update on @swamp/vercel/projects (2026.10.08.1) can't update an existing project. It always puts the project's name in the PATCH body, even when the name hasn't changed. Vercel answers that same-name "rename" with 409 Project "<name>" already exists. So every update fails, whatever setting you're changing.
What happens
The model definition has name: ai-usage, and Vercel already has exactly one project named ai-usage, the one this model created. Nothing else in the team has that name: GET /v9/projects/ai-usage?teamId=… and GET /v10/projects?search=ai-usage&teamId=… both return only that project.
I added rootDirectory: site to the definition and ran:
swamp model method run dashboard-project updateResult:
Vercel API error: PATCH /v9/projects/prj_… returned 409: conflict: Project "ai-usage" already exists.update builds the body from the global arguments, including if (g.name !== undefined) body.name = g.name; (models/projects.ts). name is required by create, so it is always set. The PATCH therefore always asks to "rename" ai-usage to ai-usage.
Isolated with the Vercel CLI (same project, same team)
| PATCH body | Result |
|---|---|
{"name":"ai-usage"} (the project's current name, nothing else) |
Error: Project "ai-usage" already exists. (409) |
{"rootDirectory":"site","commandForIgnoringBuildStep":"…"} (no name) |
200, applied |
After the second PATCH applied the settings, update still fails with the same 409, even though nothing differs.
Sending an unchanged name ought to be harmless, but this Vercel API rejects it, so the extension has to avoid sending it.
Expected
update applies changed settings, and sends name only when it differs from the stored project's name. update already loads the stored data as existing:
if (g.name !== undefined && g.name !== existing.name) body.name = g.name;Workaround
PATCH without name using vercel api "/v9/projects/<id>?teamId=<team>" -X PATCH --input body.json. Then run swamp model method run <model> sync to refresh swamp's data.
Environment
- swamp 20261009.202715.0-sha.773f3987
@swamp/vercel/projects2026.10.08.1 (pulled 2026-10-10)- Vercel CLI 63.1.0, macOS
Open
No activity in this phase yet.
system commented 10/10/2026, 6:58:48 PM
Classified automatically when this issue was filed.
- Source: Extensions
If you feel this classification is incorrect, add a ripple to tell us so.
Sign in to post a ripple.