Files
e2b-dev--e2b/packages/cli
Mish Ushakov 8be34f8344 Fixes default Dockerfile user/workdir behavior (#1033)
Fixes issue https://github.com/e2b-dev/E2B/issues/1032

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Preserve Dockerfile USER/WORKDIR when provided and only apply E2B
defaults if absent, with tests and CLI fixtures updated accordingly.
> 
> - **Dockerfile parsing (SDKs)**:
> - **JS (`packages/js-sdk/src/template/dockerfileParser.ts`)**: Track
`USER`/`WORKDIR` usage and only set E2B defaults (`user`, `/home/user`)
if not specified; keep Docker defaults (`root`, `/`) initially.
> - **Python
(`packages/python-sdk/e2b/template/dockerfile_parser.py`)**: Same
behavior—preserve explicit `USER`/`WORKDIR`, fallback to defaults only
when absent.
> - **Tests**:
> - **JS**: Add tests for default vs. custom `USER`/`WORKDIR` in
`fromMethods.test.ts`.
> - **Python (async/sync)**: Add analogous tests in
`test_from_methods.py`.
> - **CLI template fixtures**:
> - Update expected outputs to remove redundant
`.set_user('user')`/`.set_workdir('/home/user')` when already specified;
minor ordering tweak for `.setStartCmd` in TS fixture.
> - **Changeset**:
> - Minor version bumps for `@e2b/python-sdk` and `e2b`; note: keep
Docker `WORKDIR` and `USER` if specified.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
1ce66362501932308292cef87b5d8a73012ee5f2. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2025-11-26 09:16:25 -08:00
..
2024-11-26 10:34:04 -08:00
2023-11-06 15:07:09 +01:00
2024-09-13 09:59:45 +02:00
2025-06-05 07:10:07 -07:00
2025-11-15 22:54:49 +00:00
2024-09-13 09:59:45 +02:00
2025-10-17 05:03:18 -07:00

e2b logo

E2B CLI

This CLI tool allows you to build manager your running E2B sandbox and sandbox templates. Learn more in our documentation.

1. Install the CLI

Using Homebrew (on macOS)

brew install e2b

Using NPM

npm install -g @e2b/cli

2. Authenticate

e2b auth login

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. Then use the CLI like this: E2B_ACCESS_TOKEN=sk_e2b_... e2b template build.

Important

Note the distinction between E2B_ACCESS_TOKEN and E2B_API_KEY.

3. Check out docs

Visit our CLI documentation to learn more.