Skip to main content
Run code in different code execution contexts with E2B Code Interpreter SDK. This allows you to parallelize code execution by running code in different contexts at the same time. By default the code is run in the Sandbox’s default code execution context. You can change it by passing the context parameter to the runCode() method in JavaScript or run_code() in Python.

Create a new Code Context

You can create a new code execution context by calling the createCodeContext() method in JavaScript or create_code_context() in Python and passing the context parameters.
import { Sandbox } from '@e2b/code-interpreter'

const sandbox = await Sandbox.create()
const context = await sandbox.createCodeContext({
  cwd: '/home/user',
  language: 'python',
  requestTimeoutMs: 60_000,
})

const result = await sandbox.runCode('print("Hello, world!")', { context })
console.log(result)

List active Code Contexts

You can list active code execution contexts by calling the listCodeContexts() method in JavaScript or list_code_contexts() in Python. This will return a list of active code execution contexts.
import { Sandbox } from '@e2b/code-interpreter'

const sandbox = await Sandbox.create()
const contexts = await sandbox.listCodeContexts()
console.log(contexts)

Restart a Code Context

You can restart an active code execution context by calling the restartCodeContext() method in JavaScript or restart_code_context() in Python and passing the context object or context ID. Restarting a context will clear its state and start a new code execution session in the same context.
import { Sandbox } from '@e2b/code-interpreter'

const sandbox = await Sandbox.create()
const context = await sandbox.createCodeContext({
  cwd: '/home/user',
  language: 'python',
  requestTimeoutMs: 60_000,
})

// using context object
await sandbox.restartCodeContext(context)

// using context ID
await sandbox.restartCodeContext(context.contextId)

Remove a Code Context

You can remove an active code execution context by calling the removeCodeContext() method in JavaScript or remove_code_context() in Python and passing the context object or context ID.
import { Sandbox } from '@e2b/code-interpreter'

const sandbox = await Sandbox.create()
const context = await sandbox.createCodeContext({
    cwd: '/home/user',
    language: 'python',
    requestTimeoutMs: 60_000,
})

// using context object
await sandbox.removeCodeContext(context)

// using context ID
await sandbox.removeCodeContext(context.contextId)