Val Town
A hosted TypeScript runtime where "vals" (HTTP endpoints, crons, email handlers) deploy to live URLs in about 100 ms, run under Deno permissions with no filesystem or subprocess access, and are built with or by agents via MCP and a CLI. A deployment target for agent-written TypeScript services rather than a workspace sandbox; excellent for webhooks and MCP servers, unsuitable for shell-level agent work.
Overview
Val Town describes itself as "Instant deployments for you & your agents": a hosted platform where developers and AI agents write TypeScript "vals" that run as HTTP endpoints, scheduled crons, email handlers or scripts and go live at a public URL. Code runs on Deno (currently Deno 2.9.x with TypeScript 5.9) with a locked-down permission set — network and secrets allowed, filesystem, subprocesses, FFI and high-resolution timers denied — which Val Town documents as its sandbox. A 2024 engineering post describes the fourth-generation runtime as pooled Deno subprocesses of a Node.js server; whether a container or VM sits beneath that is not documented.
Agents reach it through the official MCP server, the @valtown/vt CLI (clone, push, pull, watch, create, remix), the @valtown/sdk TypeScript library and a REST API, with setup guides for Claude Code, Codex, Cursor and others. State lives in a per-user SQLite database and S3-style blob storage rather than a filesystem. Limits are plan-based: 1-minute runs and 15-minute crons on Free, 10-minute runs and 1-minute crons on Pro ($21/month). It is a deployment runtime rather than a general shell sandbox: no arbitrary binaries, no filesystem, no GPU.
Notable
- Pro plan is $21/month with 10-minute wall-clock runs and 1,000,000 runs per day; Business starts at $167/month.
- Runtime limits per val: 1,000 files and 100 branches; binary files are not supported.
- Val Town's own docs recommend the Val Town plugin or MCP server over the
vtCLI for agents because the MCP server has more tools.
Val Town specifications
| Attribute | Details |
|---|---|
| Isolation | Deno process per val with a restricted permission set: --allow-net and env (secrets) on; filesystem read/write, subprocess execution (--allow-run), FFI and high-resolution time denied; the 2024 engineering blog describes "temporary Deno subprocesses" from a pre-initialised pool; no container or VM layer is documented |
| Deployment | Hosted platform |
| Open source | No |
| SDKs and interfaces | JavaScript/TypeScript, CLI, REST API, MCP server |
| Cold start (vendor claim) | Homepage claims vals are "Deployed to the web in 100ms" |
| Max session length | Wall-clock time per run: 1 minute (Free), 10 minutes (Pro); Business and Enterprise not listed |
| Persistence | Vals are persistent deployed code with version history and branches; no filesystem — state goes to the built-in SQLite database or blob storage (10 MB SQLite free, up to 1 GB paid); in-memory state persists only until a val is restarted |
| GPU | No — JavaScript/TypeScript runtime only |
| Networking | Outbound HTTP allowed (--allow-net); every HTTP val gets a public live URL; custom domains on paid plans |
| Pricing | Free $0; Pro $21/month (1-minute crons, 10-minute runs, 2,000 private vals, 10 custom domains, 1M runs/day); Business from $167/month (5M runs/day, unlimited custom domains); Enterprise custom |
| Free tier | Free plan: unlimited public vals, 15-minute cron interval, 1-minute runs, 100,000 runs/day, 3-day log retention, no private vals |
| Compliance | Not documented |
| Regions | Not documented |
Facts from Val Town’s public documentation, verified November 9, 2026. Performance numbers are vendor claims.
Strengths and trade-offs
Strengths
- You want agents to deploy webhooks, crons, small APIs or MCP servers to a live URL in one step
- You need a TypeScript-only runtime with managed secrets, SQLite and blob storage built in
- You are prototyping and want a free tier with unlimited public vals
Trade-offs
- Not a general sandbox: no filesystem, no subprocesses, no arbitrary binaries, TypeScript/JavaScript only
- Short run limits (1 minute Free, 10 minutes Pro) rule out long agent tasks
- Isolation below the Deno permission layer is not documented; no compliance information published
Good fit for: Agents that ship small TypeScript services, webhooks, crons and MCP servers to live URLs without managing infrastructure.
How Val Town compares
| Sandbox | Isolation | Open source | Self-host / BYOC | Cold start (vendor) | Max session | Snapshots / pause | GPU | SDKs |
|---|---|---|---|---|---|---|---|---|
| Val Town | Deno process sandbox | No | No / No | 100 ms deploy (claimed) | 1 min / 10 min (Pro) | No / Not documented | No | JavaScript/TypeScript, CLI, REST API, MCP server |
| Cloudflare Sandbox SDK | MicroVM (Containers) | Yes | No / No | 1–3 s | No fixed cap | Yes / Not documented | Not documented | TypeScript (Workers) |
| Vercel Sandbox | Firecracker microVM | No | No / No | Milliseconds (claim) | 24 h (Pro) | Yes / Yes | Not documented | JavaScript/TypeScript, Python |
| Freestyle | VM | No | No / Not documented | 65 ms | Unlimited (paid) | Yes / Yes | Not documented | TypeScript |
| WebContainers | Browser tab (WebAssembly) | No | No / No | ms (claimed) | Not documented | No / No | No | JavaScript/TypeScript |
Frequently asked questions
What is Val Town?
How does Val Town isolate code?
--allow-net and env (secrets) on; filesystem read/write, subprocess execution (--allow-run), FFI and high-resolution time denied; the 2024 engineering blog describes "temporary Deno subprocesses" from a pre-initialised pool; no container or VM layer is documented.Is Val Town open source?
How much does Val Town cost?
What are the alternatives to Val Town?
Sources
Cite this page
Agent Sandboxes. (2026). Val Town. agentsandboxes.org. Last reviewed November 9, 2026. https://agentsandboxes.org/sandboxes/val-town/
Found an error or a missing sandbox? Submit a correction — every entry links to the sources it relies on.