Skip to content

Connect to a running sandbox

If you have a running sandbox, you can connect to it using the Sandbox.connect method and then start controlling it with our SDK. This is useful when you want to reuse the same sandbox instance for a user after a short period of inactivity.

The Sandbox.connect method returns a Sandbox object.

To connect to a running sandbox, first retrieve its ID by calling Sandbox.list().

Note: Sandbox.list was updated. See List Sandboxes for details.

from agentbox import Sandbox

# Create sandbox and keep it running for 60 seconds (timeout is in seconds).
sandbox = Sandbox(
    api_key="ab_xxxxxxxxxxxxxxxxxxxxxxxxx",
    template="wemmodr8mb2uk3kn7exw",
    timeout=60
)

# Get all running sandboxes
running_sandboxes = Sandbox.list(api_key="ab_xxxxxxxxxxxxxxxxxxxxxxxxx")

if len(running_sandboxes) == 0:
    raise Exception("No running sandboxes found")

# Use the first sandbox's ID (adjust selection logic as needed)
sandbox_id = running_sandboxes[0].sandbox_id
print(sandbox_id)

Once you have the sandbox ID, connect using Sandbox.connect().

from agentbox import Sandbox

# Create sandbox and keep it running for 60 seconds (timeout is in seconds).
sandbox = Sandbox(
    api_key="ab_xxxxxxxxxxxxxxxxxxxxxxxxx",
    template="wemmodr8mb2uk3kn7exw",
    timeout=60
)

# Get all running sandboxes
running_sandboxes = Sandbox.list(api_key="ab_xxxxxxxxxxxxxxxxxxxxxxxxx")

if len(running_sandboxes) == 0:
    raise Exception("No running sandboxes found")

sandbox_id = running_sandboxes[0].sandbox_id
print(sandbox_id)

conn = Sandbox.connect(
    api_key="ab_xxxxxxxxxxxxxxxxxxxxxxxxx",
    sandbox_id=sandbox_id
)

print(conn.get_info())