Removal checklist
Work through this in the app directory you ranvendo init in. Everything listed is Vendo-owned unless marked yours.
1. The server surface
The mount line is
app.use("/api/vendo", mountVendo()) on Express, or the handleVendoRequest wiring in your runtime’s entry.
2. The client mount (yours)
Remove the<VendoProvider> wrap, and <VendoOverlay /> or any other Vendo surface inside it, from your layout.
That is app/layout.tsx, pages/_app.tsx, or the "use client" wrapper file you wrote to hold the component registry, which can be deleted whole.
3. .vendo/
Delete the directory. It holds only Vendo state: the extracted contract, the files you may have edited, capture output, AI-pass output, knowledge config, and data/.
4. package.json
Remove the predev and prebuild sync hooks (vendo sync --no-ai, vendo sync --strict --no-ai). If init prepended them to a script you already had, delete just the Vendo segment.
Uninstall @vendoai/vendo, the vendoai alias if present, and a direct @vendoai/vendo/ui if you added one for chrome imports.
Init’s provider step also installed ai and one @ai-sdk/* provider. Remove them only if nothing else in your app imports them.
Init may have bumped zod. Leave that alone: it is a version floor, not a Vendo dependency.
5. Environment
6. The long tail
Only present when the matching feature was used.~/.vendo/ is user-level state, not project state: the CLI telemetry id, a stored Cloud session, and any pending login claim. Delete it only if you are leaving Vendo entirely.
The Cloud side
Deleting the key line locally does not revoke it. Revoke it in the console, or from the CLI:- Removing
VENDO_API_KEYchanges which store composes. Store selection is explicit store, then Cloud key, then local, so the next boot composes the local store (Persistence). Nothing migrates and there is no export command. - Hosted data outlives the key. Store rows, published config surfaces, pin baselines, and captured host components remain server-side after revocation.
- Targeted deletion is programmatic.
eraseStore(store, { files })cascades per-subject and per-app; project- and account-level deletion is a console operation. vendo cloud logoutdeletes only the local session file at~/.vendo/cloud-session.json.
Start over instead
Removal is rarely what a broken install needs. In order of increasing reset:vendo init --force never touches source files. The route, the composition, and vendo-actions.ts are yours once created, so a broken one is deleted by hand and recreated by the next plain vendo init.
A plain re-run prints “Already wired”, brings deleted scaffolds back, and never overwrites a file you edited — Re-running init has the rest.