chore(cli): migrate dashboard links to project-era tab entrypoints#1605
chore(cli): migrate dashboard links to project-era tab entrypoints#1605mishushakov wants to merge 1 commit into
Conversation
The dashboard added ?tab=project as an alias for ?tab=team (e2b-dev/dashboard#521) as part of the teams->projects rename. Point the --project flag help at the new entrypoint and link the CLI README's access-token note straight to Account Settings, dropping the stale "Team selector" wording. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
PR SummaryLow Risk Overview The README note for Adds a Reviewed by Cursor Bugbot for commit e9864e5. Bugbot is set up for automated code reviews on this repo. Configure here. |
🦋 Changeset detectedLatest commit: e9864e5 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Package ArtifactsBuilt from a741b42. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-2.35.4-migrate-dashboard-links.0.tgzCLI ( npm install ./e2b-cli-2.15.1-migrate-dashboard-links.0.tgzPython SDK ( pip install ./e2b-2.34.0+migrate.dashboard.links-py3-none-any.whl |
There was a problem hiding this comment.
LGTM — this is a trivial, mechanical doc/help-text change (two dashboard link updates plus a changeset), with no functional or security impact. The inline nit about the README/api.ts link mismatch is cosmetic and doesn't block this.
Extended reasoning...
Overview
The PR touches three files: a new changeset, packages/cli/README.md, and packages/cli/src/options.ts. It updates two hardcoded dashboard URLs/help strings to reflect the dashboard's teams→projects rename (?tab=team → ?tab=project in the --project flag help text, and a stale "Team selector" README note → ?tab=account). No logic, control flow, or runtime behavior changes at all — these are string literal edits in a help-text constant and a markdown file.
Security risks
None. No auth, crypto, permission, or credential-handling logic is touched — only user-facing documentation strings pointing to dashboard URLs. Verified options.ts diff is a pure string replacement in a commander.Option description, and the README diff is a link/wording change in a NOTE block.
Level of scrutiny
Very low scrutiny is warranted: this is a chore-level, mechanical text change with no code paths exercised, no tests needed, and no ambiguity in intent. The one inline finding (README now says ?tab=account while api.ts's authErrorBox for the same E2B_ACCESS_TOKEN still says ?tab=personal) is a legitimate but minor cross-file consistency nit — both links still resolve to functioning dashboard tabs, so there's no broken or dead link, just a documentation mismatch the author can trivially reconcile in a follow-up.
Other factors
Changeset is present and correctly scoped (patch for @e2b/cli). No outstanding reviewer comments beyond the automated Cursor bugbot summary, which is informational and doesn't flag issues. This is a first review pass on this PR with no prior claude[bot] activity in the timeline.
| > [!NOTE] | ||
| > To authenticate without the ability to open the browser, provide | ||
| > `E2B_ACCESS_TOKEN` as an environment variable. You can find your token | ||
| > in Account Settings under the Team selector at [e2b.dev/dashboard](https://e2b.dev/dashboard). Then use the CLI like this: | ||
| > in [Account Settings](https://e2b.dev/dashboard?tab=account) in the E2B dashboard. Then use the CLI like this: | ||
| > `E2B_ACCESS_TOKEN=sk_e2b_... e2b template create`. |
There was a problem hiding this comment.
🟡 The README now points users to ?tab=account to find E2B_ACCESS_TOKEN, but the CLI's own runtime auth error for the exact same missing token (authErrorBox in packages/cli/src/api.ts, lines 19-23) still links to ?tab=personal. Since this PR's purpose is syncing dashboard links to current tab names, consider updating api.ts to ?tab=account (or vice versa) so both messages agree.
Extended reasoning...
This PR updates packages/cli/README.md:36 so that the note about the E2B_ACCESS_TOKEN environment variable now links to https://e2b.dev/dashboard?tab=account (Account Settings), replacing the old generic dashboard URL and stale "Team selector" wording. That's a good, on-topic change given the PR's stated goal of migrating dashboard links to current tab names.
However, there's a second user-facing message that points to the identical credential and wasn't touched: authErrorBox in packages/cli/src/api.ts (lines 19-23). When ensureAccessToken() (line ~68-77) finds no E2B_ACCESS_TOKEN set, it calls authErrorBox('E2B_ACCESS_TOKEN'), which builds a link of https://e2b.dev/dashboard?tab=personal and prints "Visit ... to get the access token." This is the runtime equivalent of the README note — both exist purely to tell the user where to go get the same E2B_ACCESS_TOKEN value — but after this PR they send the user to two different dashboard tabs (?tab=account vs ?tab=personal).
Proof / walkthrough:
- A user reads the README's authentication section, sees "You can find your token in Account Settings", and later runs a CLI command in an environment without
E2B_ACCESS_TOKENset. ensureAccessToken()inapi.tsfires, hits the!accessTokenbranch, and prints the boxed error built byauthErrorBox('E2B_ACCESS_TOKEN').- That box says "Visit https://e2b.dev/dashboard?tab=personal to get the access token" — a different tab than the one the README just told them about.
- The user now has two contradictory pointers for the same credential and has to guess (or try both) which tab is actually correct today.
The PR description explicitly says "The SDKs' ?tab=keys and the CLI's ?tab=personal links stay unchanged — those tabs remain valid, unrenamed entrypoints," which explains why ?tab=personal wasn't touched, but it doesn't reconcile why the README was moved to ?tab=account for the exact same value that api.ts still associates with ?tab=personal. Nothing in the diff or the repo makes clear which of the two is actually the current canonical tab for retrieving an access token — that ambiguity is exactly the kind of drift this PR was meant to eliminate elsewhere (e.g. ?tab=team → ?tab=project in options.ts).
Impact-wise, this is purely a documentation/UX consistency issue: both URLs still resolve to a real dashboard tab, nothing crashes, and no functional or auth behavior changes. All three independent verifiers who checked this confirmed the discrepancy is real and reproducible via a simple grep, but agreed it's a nit rather than a blocker. The fix is a one-line change — align api.ts's authErrorBox link for E2B_ACCESS_TOKEN to ?tab=account (or revert the README to whatever the actually-correct tab is) so the two messages agree.
Summary
The dashboard now supports
?tab=projectas an alias for?tab=team(e2b-dev/dashboard#521), following the teams→projects rename. This PR points the--projectflag help at the new entrypoint, links the CLI README's access-token note straight to Account Settings (?tab=account) instead of the bare dashboard URL with the stale "Team selector" wording, and adds a@e2b/clipatch changeset. The SDKs'?tab=keysand the CLI's?tab=personallinks stay unchanged — those tabs remain valid, unrenamed entrypoints.Example
🤖 Generated with Claude Code