Skip to content

feat(cli): Bootstrap account credentials from setup codes - #1871

Merged
evanpurkhiser merged 1 commit into
git/feat-cli-exchange-one-time-oauth-setup-codesfrom
git/feat-cli-bootstrap-account-credentials-from-setup-codes
Nov 4, 2026
Merged

evanpurkhiser merged 1 commit into
git/feat-cli-exchange-one-time-oauth-setup-codesfrom
git/feat-cli-bootstrap-account-credentials-from-setup-codes

Conversation

@evanpurkhiser

@evanpurkhiser evanpurkhiser commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

Setup codes need to authenticate the CLI without disturbing other stored accounts. Add bootstrap credential handling using the existing host-scoped account storage, validate responses before replacing a login, and preserve credentials when redemption fails.

Depends on #1870. Command and installer entry points follow separately.

https://linear.app/getsentry/issue/VDY-337

Validation on the complete stack: typing, lint, and focused authentication/setup tests pass. The full test run has 21 unrelated failures reproduced on unchanged upstream main in the installer musl-detection, time-range, and zip-writer suites.

Native GitHub Stack: #1874, ordered #1870 → #1871 → #1872 → #1873.

Native bootstrap and shell installation passed against local OAuth redemption using internally generated codes. The shell test used a local artifact mirror for the unreleased binary.

@vercel

vercel Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
sentry-local Skipped Skipped Nov 4, 2026 7:28pm UTC

Request Review

@linear-code

linear-code Bot commented Nov 3, 2026

Copy link
Copy Markdown

VDY-337

Comment thread packages/cli/src/lib/setup-code.ts Resolved
@evanpurkhiser
evanpurkhiser added this pull request to stack #1874 November 3, 2026 18:53
@evanpurkhiser
evanpurkhiser requested a review from BYK November 4, 2026 18:34
@evanpurkhiser
evanpurkhiser marked this pull request as ready for review November 4, 2026 18:34
@github-actions github-actions Bot added the risk: medium PR risk score: medium label Nov 4, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Want reviews to match your repository better? Bugbot Learning can learn team-specific rules from PR activity. A team admin can enable Learning in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 2be9db1. Configure here.

Comment thread packages/cli/src/lib/setup-code.ts Resolved
Comment thread packages/cli/src/lib/setup-code.ts Resolved
@evanpurkhiser
evanpurkhiser force-pushed the git/feat-cli-bootstrap-account-credentials-from-setup-codes branch from 2be9db1 to ebce726 Compare November 4, 2026 18:41
@evanpurkhiser
evanpurkhiser force-pushed the git/feat-cli-bootstrap-account-credentials-from-setup-codes branch from ebce726 to aa69a10 Compare November 4, 2026 19:08
@evanpurkhiser
evanpurkhiser force-pushed the git/feat-cli-bootstrap-account-credentials-from-setup-codes branch from aa69a10 to 87b12b0 Compare November 4, 2026 19:28
@evanpurkhiser
evanpurkhiser merged commit 8f0c7bb into main Nov 4, 2026
27 checks passed
@evanpurkhiser
evanpurkhiser deleted the git/feat-cli-bootstrap-account-credentials-from-setup-codes branch November 4, 2026 20:11
evanpurkhiser added a commit that referenced this pull request Nov 4, 2026
The CLI needs to redeem Sentry's short-lived setup codes without opening
a browser. Add the setup-code OAuth exchange, validate the issuing
instance, and redact setup codes from diagnostics. Redemption sends the
code once and refuses redirects.

Backend dependency: getsentry/sentry#129325.
Codes are generated internally by Sentry for specific clients; the
generated onboarding instructions flow follows separately.

https://linear.app/getsentry/issue/VDY-337

Validation on the complete stack: typing, lint, and focused
authentication/setup tests pass. The full test run has 21 unrelated
failures reproduced on unchanged upstream main in the installer
musl-detection, time-range, and zip-writer suites.

Native GitHub Stack:
[#1874](https://github.com/getsentry/toolkit/stack/1874), ordered #1870
→ #1871 → #1872 → #1873.

Native bootstrap and shell installation passed against local OAuth
redemption using internally generated codes. The shell test used a local
artifact mirror for the unreleased binary.
evanpurkhiser added a commit that referenced this pull request Nov 4, 2026
Allow an installed CLI to authenticate non-interactively with
`SENTRY_SETUP_CODE=... sentry auth bootstrap`. Depends on #1871. Expose
the bootstrap helper through the existing authentication command group
with JSON output, instance selection, and explicit replacement consent.

https://linear.app/getsentry/issue/VDY-337

Validation on the complete stack: typing, lint, and focused
authentication/setup tests pass. The full test run has 21 unrelated
failures reproduced on unchanged upstream main in the installer
musl-detection, time-range, and zip-writer suites.

Native GitHub Stack:
[#1874](https://github.com/getsentry/toolkit/stack/1874), ordered #1870
→ #1871 → #1872 → #1873.

Native bootstrap and shell installation passed against local OAuth
redemption using internally generated codes. The shell test used a local
artifact mirror for the unreleased binary.
evanpurkhiser added a commit that referenced this pull request Nov 4, 2026
Depends on #1872. Let headless installs authenticate immediately when
`SENTRY_SETUP_CODE` is supplied. The installer hands authentication to
the same bootstrap implementation used by an existing CLI and propagates
failures.

https://linear.app/getsentry/issue/VDY-338

Validation on the complete stack: typing, lint, and focused
authentication/setup tests pass. The full test run has 21 unrelated
failures reproduced on unchanged upstream main in the installer
musl-detection, time-range, and zip-writer suites.

Native GitHub Stack:
[#1874](https://github.com/getsentry/toolkit/stack/1874), ordered #1870
→ #1871 → #1872 → #1873.

Native bootstrap and shell installation passed against local OAuth
redemption using internally generated codes. The shell test used a local
artifact mirror for the unreleased binary.

This branch was previously deployed

1 inactive deployment
Preview — 87b12b0d Deployed Nov 4, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: medium PR risk score: medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant