What is okrun?
okrun gives humans and coding agents live environments for software experiments. Give your experiment a public HTTPS URL without moving it to another environment.
Your code, dependencies, and running service stay together as you work. Application builds and service restarts remain ordinary application tasks.
Workflow
Use ok to create and manage live environments.
Create and inspect an environment
ok new hello
ok inspect hello
ok exec hello -- cat /etc/os-release
Commands act immediately. Add --dry-run to preview a state change.
ok new hello --dry-run
Run an application
Use ok exec to install dependencies, create files, and build inside the VM. Use SSH for an interactive session.
ok ssh hello
Inside the VM, register the application's executable as a persistent service. Replace the example path with the application's executable.
ok service start web --cwd /workspace/hello -- /workspace/hello/server
ok service status web
ok service logs web --lines 30
The application can bind to guest loopback. The guest relay exposes only the selected endpoint.
Publish with HTTPS and caching
Expose the running service on port 3000.
ok expose hello --port 3000
The command returns a public HTTPS URL automatically. Add --hostname app.example.com to use a custom domain.
Add --cache to enable the shared Varnish cache for this route. Caching is otherwise off. An unhealthy replacement preserves the previous route.
After a content update, clear that route's cache from the host.
ok route-cache hello
For agents
All page content is present in the HTML response. This site has no CSS, JavaScript, login, or client-side rendering. A compact description is available in /llms.txt.
- Use
ok --helpfor command discovery. Useok --hidden --helpfor SSH and guest service helpers. - Keep default JSON output for automation. Use
--humanor non-emptyHUMANfor human-readable output. - Use
ok exec NAME -- COMMANDto run commands inside a VM. JSON includesstdout,stderr, andexit_code. - Use
--dry-runto preview state changes. - Keep application dependencies and experiments inside workload VMs.
- Keep Cloudflare credentials and platform credentials outside workload VMs.
Each VM has a private network. Host-enforced rules block neighboring VMs, host management, and private LAN destinations by default. Internet egress uses NAT.
Persistence and recovery
Your environment keeps your code, dependencies, and data between sessions. Stop it when you need to, then return to the same files.
Checkpoints preserve a running environment for recovery. Backups keep a copy outside its host.
Status
okrun currently runs its creator's workloads and agent-operated environments. Hosted accounts are not available for public signup. This page does not provide a public VM provisioning API or an installer.
Hosted user access and movement between compute hosts are future capabilities.
This website runs inside okrun-2026-10-18, a VM managed by okrun. Its public route uses Varnish caching.