Skip to content

chore(cli): migrate dashboard links to project-era tab entrypoints#1605

Draft
mishushakov wants to merge 1 commit into
mainfrom
migrate-dashboard-links
Draft

chore(cli): migrate dashboard links to project-era tab entrypoints#1605
mishushakov wants to merge 1 commit into
mainfrom
migrate-dashboard-links

Conversation

@mishushakov

Copy link
Copy Markdown
Member

Summary

The dashboard now supports ?tab=project as an alias for ?tab=team (e2b-dev/dashboard#521), following the teams→projects rename. This PR points the --project flag 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/cli patch changeset. The SDKs' ?tab=keys and the CLI's ?tab=personal links stay unchanged — those tabs remain valid, unrenamed entrypoints.

Example

$ e2b template create --help
  -t, --project <project-id>  specify the project ID that the operation will be associated with.
                              You can find project ID in the project settings in the E2B dashboard
                              (https://e2b.dev/dashboard?tab=project).

🤖 Generated with Claude Code

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>
@cla-bot cla-bot Bot added the cla-signed label Jul 24, 2026
@cursor

cursor Bot commented Jul 24, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Documentation and help-string URL updates only; no CLI logic or credential handling changes.

Overview
Aligns CLI user-facing dashboard URLs with the dashboard’s project tab alias (replacing ?tab=team in --project help in options.ts).

The README note for E2B_ACCESS_TOKEN now points to Account Settings instead of the generic dashboard URL and drops the outdated “Team selector” wording.

Adds a @e2b/cli patch changeset; no runtime or auth behavior changes (?tab=keys / ?tab=personal in api.ts are untouched).

Reviewed by Cursor Bugbot for commit e9864e5. Bugbot is set up for automated code reviews on this repo. Configure here.

@changeset-bot

changeset-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: e9864e5

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@e2b/cli Patch

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

@github-actions

Copy link
Copy Markdown
Contributor

Package Artifacts

Built from a741b42. Download artifacts from this workflow run.

JS SDK (e2b@2.35.4-migrate-dashboard-links.0):

npm install ./e2b-2.35.4-migrate-dashboard-links.0.tgz

CLI (@e2b/cli@2.15.1-migrate-dashboard-links.0):

npm install ./e2b-cli-2.15.1-migrate-dashboard-links.0.tgz

Python SDK (e2b==2.34.0+migrate.dashboard.links):

pip install ./e2b-2.34.0+migrate.dashboard.links-py3-none-any.whl

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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.

Comment thread packages/cli/README.md
Comment on lines 33 to 37
> [!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`.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 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:

  1. 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_TOKEN set.
  2. ensureAccessToken() in api.ts fires, hits the !accessToken branch, and prints the boxed error built by authErrorBox('E2B_ACCESS_TOKEN').
  3. 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.
  4. 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.

@mishushakov
mishushakov marked this pull request as draft July 24, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant