~/shelltab — docs/drives

Drives

A drive is a persistent Linux environment in the cloud — your own machine with an NVMe disk, pre-installed tooling, and a full shell. It starts in under two seconds and picks up exactly where you left off.

drives-overview.mp4

What is a drive?

A drive is a dedicated Linux machine running on Fly.io infrastructure. Unlike a container that resets on each run, a drive's filesystem is backed by an NVMe volume — your git repos, installed packages, shell history, and environment variables persist across restarts.

Every organisation starts with one drive. You can create additional drives for separate projects, isolated agent workloads, staging environments, or anything else that benefits from its own persistent filesystem.

Drives are not ephemeral. Data written to /workspace and your home directory survives stop/start cycles. Only /tmp is cleared between sessions.

Drive sizes

Starter

1 shared CPU · 2 GB RAM · 10 GB NVMe. Available on Free and Plus plans. Good for personal projects, documentation, and lightweight dev work.

Standard

2 dedicated CPUs · 4 GB RAM · 40 GB NVMe. Available on Team and Scale plans. Recommended for most software projects and agent workloads.

Performance

4 dedicated CPUs · 8 GB RAM · 80 GB NVMe. Available on Scale plan. For large monorepos, parallel agent runs, and compute-heavy builds.

Custom

Need more CPU, RAM, or disk? Contact us. We can provision drives up to 16 CPUs and 32 GB RAM on dedicated hosts.

Drive lifecycle

  1. 01 Start

    Click Start on a drive card or open the workspace. The machine boots in under two seconds. A terminal tile opens automatically on the canvas.

  2. 02 Running

    The drive is live. All terminals, agents, and processes have full access to the filesystem and network. Your teammates see the drive as active in their workspace.

  3. 03 Idle stop

    After 10 minutes of no terminal activity the drive idles down automatically. Your files and state are preserved. The next session restarts it in seconds.

  4. 04 Manual stop

    You can stop a drive from the workspace settings or the drive card. All running processes are gracefully terminated before the machine halts.

drives-lifecycle.mp4

Storage

The NVMe volume is mounted at /. Your home directory (/root or /home/user depending on the image) and /workspace are both on the persistent volume. Installed packages (apt, pip, npm -g) survive restarts.

The capture journal and session recordings are stored in /workspace/.shelltab-cloud/capture/ and synced to central storage asynchronously. You don't need to manage this directory — ShellTab handles it automatically.

Pre-installed tooling

Every drive starts with a standard set of developer tools so you don't need to spend time bootstrapping a new environment:

Languages & runtimes

Node.js (nvm), Python 3, Go, Rust (rustup), Ruby, Java (sdkman)

Shell tools

git, curl, wget, jq, ripgrep, fd, htop, tmux, vim, nano

Cloud CLIs

AWS CLI v2, gcloud SDK, flyctl, wrangler, gh (GitHub CLI)

Build tools

make, cmake, gcc, clang, docker (via host socket), docker-compose

Managing multiple drives

Each drive in your organisation is visible to all members. You can create one drive per project, one for dedicated agent runs, one for staging, or any other division that suits your team. Drives are listed in the workspace sidebar and on your organisation dashboard.

You can rename, stop, or delete a drive from its settings panel. Deleting a drive is permanent and destroys the NVMe volume — export anything you need before deleting.

Compute is billed per drive-hour while a drive is running. Stopped drives do not consume compute credits, but their NVMe volume still counts against your storage quota.

What's next