{
  "manifest_version": "1",
  "slug": "openai-agents-sdk",
  "title": "OpenAI Agents SDK",
  "headline": "Sandboxes for the OpenAI Agents SDK",
  "description": "Give each OpenAI Agents SDK sandbox session its own exe.dev VM: a sandbox client for SandboxAgent, and an agent that runs on the LLM integration.",
  "category": "ai-agents",
  "tags": [
    "openai agents sdk",
    "sandbox agents",
    "sandboxagent",
    "sandbox client",
    "agent sandbox",
    "sandbox per session",
    "openai agents api",
    "codex exec-server",
    "python"
  ],
  "url": "https://exe.dev/deploy/openai-agents-sdk",
  "markdown_url": "https://exe.dev/deploy/openai-agents-sdk.md",
  "upstream": {
    "website": "https://openai.github.io/openai-agents-python/sandbox_agents/",
    "source": "https://github.com/openai/openai-agents-python",
    "docs": "https://openai.github.io/openai-agents-python/sandbox/clients/",
    "license": "MIT"
  },
  "example_vm_name": "my-openai-agents",
  "time": "5 minutes",
  "stack": [
    {
      "name": "Your agent",
      "detail": "agent.py, OpenAI Agents SDK 0.24 run by uv",
      "data": "~/openai-agents/sessions"
    },
    {
      "name": "Sandbox client",
      "detail": "exe_sandbox.py, which makes a VM per session with exe.dev's Python SDK"
    },
    {
      "name": "exe.dev API",
      "detail": "The openai-agents integration, which holds the API key off the VM"
    },
    {
      "name": "Session VMs",
      "detail": "One exe.dev VM per session, the agent working in /workspace",
      "data": "/workspace"
    },
    {
      "name": "GPT models",
      "detail": "OpenAI, through exe.dev's LLM integration"
    }
  ],
  "delivers": [
    "agent.py and exe_sandbox.py in ~/openai-agents",
    "exe.dev's API through the openai-agents integration, scoped to session VMs, with no exe.dev key on any VM",
    "A first session that ran its commands on a new VM of its own, then was deleted with `./agent.py --rm`",
    "GPT models through exe.dev's LLM integration, with no OpenAI API key on any VM"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe.dev/new?prompt=Set%20up%20OpenAI%20Agents%20SDK%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe.dev%2Fdeploy%2Fopenai-agents-sdk.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-openai-agents.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-openai-agents.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20agent.py%20and%20exe_sandbox.py%20in%20~%2Fopenai-agents%0A-%20exe.dev%27s%20API%20through%20the%20openai-agents%20integration%2C%20scoped%20to%20session%20VMs%2C%20with%20no%20exe.dev%20key%20on%20any%20VM%0A-%20A%20first%20session%20that%20ran%20its%20commands%20on%20a%20new%20VM%20of%20its%20own%2C%20then%20was%20deleted%20with%20%60.%2Fagent.py%20--rm%60%0A-%20GPT%20models%20through%20exe.dev%27s%20LLM%20integration%2C%20with%20no%20OpenAI%20API%20key%20on%20any%20VM%0A%0ARun%20%22Set%20up%20the%20agent%20VM%20by%20hand%22%20from%20%22On%20the%20VM%22%2C%20skipping%20VM%20creation%0Aand%20SSH.%20Only%20the%20owner%20can%20create%20the%20integration%2C%20from%20their%20own%0Acomputer%3A%20give%20them%20the%20command%20in%20%22Let%20it%20make%20VMs%22%2C%20with%20this%20VM%27s%0Aname%20in%20it%2C%20and%20wait%20until%20they%20say%20they%27ve%20run%20it.%20Never%20ask%20for%20an%0Aexe.dev%20API%20key%20instead.%20Then%20run%20the%20check%20and%20the%20first%20task%20in%20that%0Asection%2C%20and%20delete%20the%20session%20with%20.%2Fagent.py%20--rm%20%3Cname%3E%2C%20so%20it%0Aleaves%20no%20VM%20behind.%20Skip%20%22Or%20let%20OpenAI%20run%20the%20agent%22%3A%20it%20needs%20the%0Aowner%27s%20OpenAI%20keys.%20Finish%20by%20pointing%20the%20owner%20to%20%22Give%20it%20a%20task%22.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe.dev/deploy/openai-agents-sdk/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up OpenAI Agents SDK on this VM by following the exe.dev recipe at https://exe.dev/deploy/openai-agents-sdk.md from top to bottom.\n\nThe recipe's example VM name is my-openai-agents. This VM's name is the output of `hostname`: use it wherever the recipe writes my-openai-agents. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- agent.py and exe_sandbox.py in ~/openai-agents\n- exe.dev's API through the openai-agents integration, scoped to session VMs, with no exe.dev key on any VM\n- A first session that ran its commands on a new VM of its own, then was deleted with `./agent.py --rm`\n- GPT models through exe.dev's LLM integration, with no OpenAI API key on any VM\n\nRun \"Set up the agent VM by hand\" from \"On the VM\", skipping VM creation\nand SSH. Only the owner can create the integration, from their own\ncomputer: give them the command in \"Let it make VMs\", with this VM's\nname in it, and wait until they say they've run it. Never ask for an\nexe.dev API key instead. Then run the check and the first task in that\nsection, and delete the session with ./agent.py --rm \u003cname\u003e, so it\nleaves no VM behind. Skip \"Or let OpenAI run the agent\": it needs the\nowner's OpenAI keys. Finish by pointing the owner to \"Give it a task\".\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe.dev/deploy/openai-agents-sdk/prompt.txt"
  },
  "updated": "2026-10-29",
  "verified": "2026-10-29",
  "related": [
    "claude-managed-agents",
    "python-sandboxes",
    "codex",
    "agents",
    "claude-code",
    "openclaw"
  ],
  "alternatives": [
    "E2B",
    "Daytona",
    "Modal",
    "Cloudflare Sandbox",
    "Vercel Sandbox"
  ],
  "files": [
    "https://exe.dev/deploy/openai-agents-sdk/agent.py",
    "https://exe.dev/deploy/openai-agents-sdk/agents_api.py",
    "https://exe.dev/deploy/openai-agents-sdk/exe_sandbox.py"
  ]
}
