Skip to main content
Tenki Cloud agents run in disposable Linux microVMs — provisioned in seconds, torn down when done.

Quick Start

1

Set the API key

TENKI_AUTH_TOKEN works too. No extra pip install is required for the compute path — the credential is enough. The Tenki runtime speaks plain HTTP through aiohttp, which praisonaiagents already requires.
2

Simplest agent

3

With pip packages pre-installed


How It Works

Tenki boots a fresh Linux microVM per sandbox. Commands run through ephemeral exec; files move as base64 over the same channel. The stock image ships python3 — everything else installs on demand.

Configuration Options

Authenticate with an API key. One of the two token variables is required. ComputeConfig fields honoured by Tenki:
Only stable Tenki primitives are used: ephemeral exec and base64 file I/O. No volumes, snapshot creation, or template management from PraisonAI.
If package install fails during provision, the sandbox is terminated before the local handle is dropped. A failed teardown keeps the sandbox tracked, so it may still appear in list_instances() and a later shutdown_compute() can retry — the microVM is never silently leaked.

Common Patterns

Data analysis with pandas

Web scraping

Custom Tenki image

Disable outbound networking


Best Practices

Tenki gives ephemeral microVMs with no template registry — ideal for short, disposable runs. Use E2B for instant pre-built templates, or Docker for local, reproducible containers.
A failed install tears the sandbox down. Don’t rely on the pip field for large dependency sets — bake them into a prebaked snapshot and boot it via metadata["tenki_image"] instead.
Always call shutdown_compute() when done, and set idle_timeout_s so an idle microVM self-terminates.
Tenki cannot express per-host allowlists. networking={"type": "unrestricted"} allows outbound; anything else (including "limited") disables it entirely.

Use across a whole team

Give a whole team or workflow one shared Tenki microVM by setting run_on="tenki" on the flow or team.
run_on="tenki" is not Tenki-specific. As of PR #4071 the same pattern hosts the whole loop on any of the eight places — anthropic, docker, e2b, modal, daytona, flyio, tenki, novita. See Placement.
See Shared Sandbox and Placement for the full run_on= behaviour.

Managed Agents

Overview of managed agent providers

E2B Cloud

Compare with the E2B sandbox provider

Shared Sandbox

Share one microVM across a team or workflow with run_on=