Skip to content

Introduction

fishbowl gives LLM agents a real Unix environment inside JavaScript — processes, a shell, a virtual filesystem, and a package manager — without touching the host machine. It runs in Node.js and the browser with the same API.

A real shell environment is a better interface for agents than a pile of tool call schemas. fishbowl provides that environment as a composable JS library.

Your agent gets a real shellGive an LLM a sandboxed Unix environment it can navigate, run code in, and install packages into
Embed a shell in your appDrop a live terminal into any web app — the runtime runs entirely in the browser
Run native code alongside JSRust and C/C++ programs run inside the same virtual filesystem as your JS code
Build your own runtimeCompose a system image from exactly the bins, fileservers, and services you need — testable, reproducible, zero native deps
Hello World →Install fishbowl, boot a shell, run your first commands — start here
Filesystem →Mount fileservers, create overlay layers, combine servers at a single path
Custom Package →Author a JS package that adds bins to a fishbowl image
Containers →Spawn isolated containers with private namespaces and layered filesystems
Build & Distribute →Compile Rust or C/C++ to WASM and publish to a registry
Agent Workspace →Give an LLM agent a sandboxed Unix environment