Skip to content

Commit 84f1fd7

Browse files
committed
Correct the Node version required for top-level await using
Measured: Node 22.22.2 fails to parse `await using`, Node 24.19.0 accepts it. verify.mjs uses try/finally, so CI on Node 20 is unaffected. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Uz85xGA4zWSge1BtiDNnSN
1 parent 9c96f35 commit 84f1fd7

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

examples/claude-code-sandbox/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ node verify.mjs # create + clone → install the CLI → read its version →
6363
- The default image already ships Node 24, npm 11, and git 2.43, and outbound network is on for a bare `create`. `npm i -g @anthropic-ai/claude-code` finishes in about five seconds — no `allowOutbound`, no custom image, no baked-in CLI.
6464
- `--dangerously-skip-permissions` refuses to run as root; the sandbox user is `tenki`, so it works as written. It is the right flag *here* precisely because the blast radius is one microVM.
6565
- `exec(command, { args })` runs a bare binary and its args with no shell splitting, so the whole task prompt goes through as a single argument. `ExecOptions.env` is scoped to that one process — the model key never lands in the repo or the image.
66-
- Secrets in, diffs out: nothing else from your shell crosses into the VM, and `await using` terminates it when the scope ends (`Session` is an `AsyncDisposable`). Requires Node 20+.
66+
- Secrets in, diffs out: nothing else from your shell crosses into the VM, and `await using` terminates it when the scope ends (`Session` is an `AsyncDisposable`). Top-level `await using` needs **Node 24+** — Node 22 fails to parse it. `verify.mjs` uses `try`/`finally` instead, so CI runs fine on Node 20.

0 commit comments

Comments
 (0)