Sandbox lifecycle

When you start the sandbox, it stays alive for 5 minutes by default but you can change it by passing the timeout parameter. After the time passes, the sandbox will be automatically shutdown.

import { Sandbox } from '@e2b/code-interpreter'

// Create sandbox with and keep it running for 60 seconds.
// 🚨 Note: The units are milliseconds.
const sandbox = await Sandbox.create({
  timeoutMs: 60_000, 
})

Change sandbox timeout during runtime

You can change the sandbox timeout when it's running by calling the the setTimeout method in JavaScript or set_timeout method in Python.

When you call the set timeout method, the sandbox timeout will be reset to the new value that you specified.

This can be useful if you want to extend the sandbox lifetime when it's already running. You can for example start with a sandbox with 1 minute timeout and then periodically call set timout every time user interacts with it in your app.

import { Sandbox } from '@e2b/code-interpreter'

// Create sandbox with and keep it running for 60 seconds.
const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

// Change the sandbox timeout to 30 seconds.
// 🚨 The new timeout will be 30 seconds from now.
await sandbox.setTimeout(30_000)

Shutdown sandbox

You can shutdown the sandbox any time even before the timeout is up by calling the kill method.

import { Sandbox } from '@e2b/code-interpreter'

// Create sandbox with and keep it running for 60 seconds.
const sandbox = await Sandbox.create({ timeoutMs: 60_000 })

// Shutdown the sandbox immediately.
await sandbox.kill()