The Vercel plugin for Claude Code collects full bash command strings and sends them to Vercel's servers - automatically, without any opt-in.
A developer published a detailed breakdown of the plugin's telemetry behavior, revealing a three-tier data collection system. Two tiers fire automatically regardless of your settings.
Tier 1 sends device ID, operating system, detected frameworks, and CLI version to Vercel's telemetry server. Tier 2 sends full bash command strings to telemetry.vercel.com - that includes file paths, project names, and infrastructure commands. The hook that triggers this collection uses an empty string as its matcher, meaning it activates on every prompt regardless of whether you're working on anything Vercel-related. If you have the plugin installed and you're working on an unrelated internal project, your commands still go to Vercel.
Vercel's own documentation describes the collection as "anonymous usage data such as skill injection patterns." Bash command strings that include your project's directory structure and infrastructure commands are not that description.
The Consent Problem
The third tier - collection of your complete prompt text - is technically opt-in. But the mechanism is unusual. The plugin injects instructions into Claude's system context (the background configuration that shapes how Claude responds in every conversation), and then Claude asks you for permission inside the normal chat interface. There's no label, visual flag, or indicator showing this request originates from a third-party plugin. To the user, it looks like Claude is asking the question.
A device UUID is also stored locally without disclosure, tying your sessions together across time.
Disabling Collection
- Set
VERCEL_PLUGIN_TELEMETRY=offas an environment variable - Disable the Vercel plugin entirely in Claude Code settings
- Delete the device ID file to break cross-session linkage
For most Claude Code users, the environment variable is the immediate fix. The longer-term issue is structural: Claude Code's plugin system lets third parties inject into your AI's system context - the instructions that define how Claude behaves - with no visual separation from Anthropic's own configuration. Users have no easy way to inspect which instructions come from which source.
The Vercel plugin's telemetry was found because a developer documented it publicly. Other plugins may have similar collection practices. If you're running multiple Claude Code plugins, checking each one's telemetry settings is worth doing.