Example code and guides for building with E2B SDK.
Read more about E2B on the E2B website and the official E2B documentation.
Hello World guide
Open-source apps
- E2B AI Analyst - analyze your data & create interactive charts
- E2B Fragments - prompt different LLMS to generate apps with UI
- E2B Surf - computer use AI agent powered by OpenAI
LLM providers
| Provider | Topic(s) | Example | Python | TypeScript |
|---|---|---|---|---|
| OpenAI | Agents SDK | Agentic workflows running in E2B sandboxes | Python | - |
| GPT-5.6 | Data analysis and visualization of a CSV | Python | TypeScript | |
| GPT-5.6 | Code interpreter and reasoning on image data | Python | TypeScript | |
| GPT-5.6 | Code interpreter for ML on dataset | Python | TypeScript | |
| Codex CLI | OpenAI Codex, running inside a Sandbox | Python | TypeScript | |
| Anthropic | Claude Opus 5 | Code interpreter | Python | TypeScript |
| Claude Code | Claude Code, running inside a Sandbox | Python | TypeScript | |
| Claude Managed Agents | Self-hosted worker running inside a Sandbox | Python | - | |
| Meta | Muse Spark | Coding agent with E2B as its execution backend | Python | - |
| Mistral | Codestral | Code interpreter | Python | TypeScript |
| Groq | Llama 3 | Code interpreter via function calling | Python | TypeScript |
| Fireworks AI | Qwen2.5-Coder-32B-Instruct | Code interpreter | Python | - |
| Llama 3.1 405B, 70B, 8B | Code interpreter | Python | - | |
| Together AI | Llama 3.1, Qwen 2, Code Llama, DeepSeek Coder | Code interpreter | Python | TypeScript |
| WatsonX AI | IBM Graphite, Llama, Mistral | Code interpreter | Python | TypeScript |
AI frameworks integrations
| Framework | Description | Python | TypeScript |
|---|---|---|---|
| 🦜⛓️ LangChain | LangChain with Code Interpreter | Python | - |
| 🦜🕸️ LangGraph | LangGraph with code interpreter | Python | - |
| CrewAI | CrewAI agent with sandboxed Python execution | Python | - |
| ▲ Vercel AI SDK | Next.js + AI SDK + Code Interpreter | - | TypeScript |
| ▲ Vercel AI SDK | AI SDK sandbox provider: sandboxed tools via restricted sessions, and harness coding agents (Claude Code, Codex) running inside E2B | - | TypeScript |
| ▲ Vercel eve | Feedback analyst agent whose sandbox backend is E2B, publishing an HTML report from the sandbox | - | TypeScript |
| Flue | Feedback analyst agent running entirely inside an E2B sandbox, publishing an HTML report from the sandbox | - | TypeScript |
| Pi | Pi builds its own E2B code-interpreter extension in a sandbox, then uses it to analyze data | - | TypeScript |
| AgentKit | AgentKit Coding Agent | - | TypeScript |
| Sandbox Agent SDK | Run Sandbox Agent inside E2B and connect with the SDK | - | TypeScript |
| Stirrup | The lightweight framework for building agents | Python | - |
Remote execution integrations
| Integration | Description | Python | TypeScript |
|---|---|---|---|
| Crabbox | Warm one E2B sandbox, sync local changes, and rerun a test suite on the same lease | Python | - |
Model Context Protocol (MCP)
| Example | Description | TypeScript |
|---|---|---|
| MCP Client | Basic MCP client connection to E2B sandbox | TypeScript |
| MCP Custom Server | Connect to custom filesystem MCP server from GitHub | TypeScript |
| MCP Custom Template | Create custom E2B template with pre-installed MCP servers | TypeScript |
| MCP Research Agent | Research agent using arXiv and DuckDuckGo MCP servers | TypeScript |
| MCP Claude Code | Claude Code with MCP integration | TypeScript |
| MCP Browserbase | Web automation agent using Browserbase MCP server | TypeScript |
| MCP Groq Exa | AI research using Groq with Exa MCP server | TypeScript |
Example use cases
- Upload dataset and analyze it with Llama 3.3 - Python
- Scrape Airbnb and analyze data with Claude Opus 5 and Firecrawl - TypeScript
- Visualize website topics with Claude Sonnet 5 and Firecrawl - Python
- Next.js app with LLM + Code Interpreter and streaming - TypeScript
- How to run a Docker container in E2B - Python/TypeScript
- How to run Playwright in E2B - TypeScript
- Map custom subdomains to your sandboxes - TypeScript
- Feedback analyst agent on Flue, publishing an HTML report from a sandbox - TypeScript
- Warm an E2B sandbox and rerun tests after adding a local regression case - Python
Every example is exercised nightly against live E2B by tests/run-examples.ts: each
one is uploaded into a fresh sandbox, installed with its own toolchain (npm, uv,
Poetry, or nbconvert for notebooks) and run. An example passes if it exits 0.
npm install
npm test # all of them
npm test -- hello-world # substring filter, one or a fewYou need an E2B_API_KEY plus whichever provider key the examples you are running
use - see .env.example. hello-world-js and hello-world-python need only the E2B
key, so they are the ones to try first.
What counts as a failure. The suite checks the sandbox, not the model. A provider rate limit or an exhausted quota counts as OK, because the sandbox still built, installed and ran; non-deterministic model behaviour - no chart produced, a malformed tool call, generated code raising inside the sandbox - is reported as skipped. Real failures are the things that are actually broken: missing templates, dependency resolution, wrong entrypoints, auth, retired model ids, sandbox timeouts.
Some examples are deliberately not covered - they need a provider key this repo does
not hold, a long-lived server the runner cannot assert on, or an upstream fix. Each
exclusion is listed with its reason at the top of tests/run-examples.ts, so a gap is
never silent.

