Choose what works for you.

Email us

Questions, feedback, or ideas.

hello@submilli.ai
Email us

Book a call

Talk through your use case with the builders.

Book a call
NewAgent runs now survive crashes and restarts

Secure code execution for code-mode agents

Your agent writes the code. You write the rules.

Why Submilli

A sandbox in under 1 ms

Every program the agent writes gets its own WebAssembly sandbox, with its own files and its own memory, time and token limits. Sandboxes start in under 1 ms and share one server process instead of each booting a VM or container, so one server holds far more runs.

< 1 msto start a sandbox

See how a program runs
a VM or container per run
VMkernel · OS
VMkernel · OS
VMkernel · OS
Submilli · one server process
  • per sandbox:
  • files (VFS)
  • memory limit
  • time limit
  • token limit

Granular, semantic permissions

Tool allowlists stop at which tool. A Blueprint goes down to the customer, the amount, how much over time and when to ask a person. Your application binds who the session is for, and the runtime checks every call outside the model. Anything without a rule is denied.

Watch how Blueprints work
operation
stripe.refund
resource
the session’s customer
arguments
amount ≤ $500
time window
≤ $1,000 per 24 hours
approval
over $200: ask a person

Runs that pick up where they stopped

Durable execution is built into the runtime. If the server crashes or restarts, each agent run continues from where it stopped, and finished steps are not repeated. There is no workflow engine to run and no workflow code to write: the program your agent writes is durable as it is.

See how runs recover
  • Survives crashes and restartsPicks up from the last finished step.
  • Finished steps stay finishedSaved results are reused, not run again.
  • Waits through restartsA run waiting on your app or a person keeps waiting.
  • Outlives its clientA dropped connection doesn’t stop the run.

Check any run’s state, or resume a stuck one, from the CLI or the API. The recovery design is formally checked with TLA+.

Built for agents that write code

Code mode cuts tokens: the agent writes one program instead of calling tools one at a time, and the model sees only the result. Submilli’s runtime is built for that agent, from how it finds Packages to how errors tell it what to fix.

98.7%fewer tokens in Anthropic’s example

Watch why agents write code
code mode
one program, not a tool call per step
discovery
Packages and docs looked up on demand
errors
show the line and say how to fix it
packages
typed, so the code knows what comes back

How it works

One program, checked at every step.

Your agent writes a program. Submilli runs it in a sandbox, checks each call against your Blueprint and records each finished step, so the run survives a crash or restart.

Read the quickstart
refund-agent.tssession · pied_piper
1const charges = await stripe.listCharges({ customer })
2await stripe.refund({ charge: charges[0], amount: 42 })✓ allowed
3await stripe.refund({ charge: charges[1], amount: 900 })✕ denied
server restarted · lines 1–3 not repeated
4await slack.post({ channel: "#billing", text })✓ continued
Blueprintstripe.refund: amount <= 500

Run your first program.

Install the CLI, register a Blueprint, and run agent code under it.