Skip to content
Docs

vercel oauth-apps

The vercel oauth-apps command registers Vercel Apps (OAuth) and manages team installations. Use it to register a new OAuth client, review pending installation requests for your team, install a Vercel App with the right permissions, and uninstall apps you no longer need.

These subcommands act on team-scoped resources. Make sure your current scope is the correct team before running mutations, or pass --scope <team>.

terminal
vercel oauth-apps [subcommand]

Using the vercel oauth-apps command to manage Vercel Apps (OAuth) and team installations.

Lists pending Vercel App installation requests for the current team.

terminal
vercel oauth-apps list-requests
vercel oauth-apps list-requests --format json
List pending installation requests. Use --format json for scripting.
OptionTypeDescription
-F, --format <FORMAT>StringOutput format (json)

Registers a new Vercel App for the current team. The response includes a clientId you'll need when calling install.

terminal
vercel oauth-apps register --name "My App" --slug my-app --redirect-uri https://app.example.com/oauth/callback

Register a new Vercel App with a display name, slug, and one or more allowed redirect URIs.

OptionTypeDescription
--name <NAME>StringDisplay name of the app (required)
--slug <SLUG>StringURL-safe unique identifier (required)
--redirect-uri <URL>String[]Allowed OAuth redirect URI (repeatable)
--description <TEXT>StringOptional description shown to users
-F, --format <FORMAT>StringOutput format (json, includes clientId)

Installs a Vercel App to the current team using the app's OAuth client ID. Grants the listed permissions and optionally restricts the install to a subset of projects.

terminal
vercel oauth-apps install --client-id cl_abc --permission read:project --permission read:deployment

Install an app with explicit permission scopes.

OptionTypeDescription
--client-id <ID>StringOAuth client ID of the Vercel App (required)
--permission <SCOPE>String[]Permission scope to grant (required, repeatable). Pass at least one; example: --permission read:project
--projects <IDS>StringComma-separated project IDs, or * for all projects (optional)
-F, --format <FORMAT>StringOutput format (json)

Dismisses a pending app installation request by its client ID.

terminal
vercel oauth-apps dismiss cl_abc123 --yes

Decline a pending installation request. Use --yes to skip the confirmation prompt.

ArgumentRequiredDescription
appIdYesClient ID of the app whose installation request you want to dismiss
OptionTypeDescription
-F, --format <FORMAT>StringOutput format (json)
-y, --yesBooleanSkip the confirmation prompt

Uninstalls a Vercel App from the current team by its installation ID.

terminal
vercel oauth-apps remove inst_abc123 --yes
Uninstall an app from the team.
ArgumentRequiredDescription
installationIdYesID of the installation to remove
OptionTypeDescription
-F, --format <FORMAT>StringOutput format (json)
-y, --yesBooleanSkip the confirmation prompt
terminal
vercel oauth-apps register --name "My App" --slug my-app --redirect-uri https://app.example.com/oauth/callback --format json
vercel oauth-apps install --client-id cl_xyz --permission read:project --projects prj_a,prj_b

Capture the clientId from the register response, then install the app with scoped permissions and a project allowlist.

terminal
vercel oauth-apps list-requests
vercel oauth-apps dismiss cl_abc123 --yes
List pending requests, then dismiss the unwanted one by ID.
terminal
vercel oauth-apps remove inst_abc123 --yes
Remove an installation by its installation ID.

The following global options can be passed when using the vercel oauth-apps command:

For more information on global options and their usage, refer to the options section.

Last updated June 9, 2026

Was this helpful?

supported.