Key Concepts

Understanding these core concepts will help you get the most out of Lot.

Projects

A project links to a GitHub repository and branch. It stores your configuration: environment variables, sandbox size, dev server command, and the setup snapshot. You create sessions within a project.

Sessions

A session is a single working instance — a sandbox running your code with an AI agent attached. Each session is independent: you can run multiple sessions on the same project, each working on a different task.

Sessions go through these states:

  • Starting — the sandbox is booting from the project snapshot
  • Running — the agent is actively working
  • Idle — the agent is done and waiting for your next message
  • Waiting — the agent has a question for you
  • Paused — the sandbox is hibernated to save costs. All memory state is preserved. Auto-resumes when you send a message or click Resume (see auto-pause and resume)
  • Deleted — the session has been deleted by the user

Sandboxes

Each session runs in a sandbox — an isolated Linux environment powered by E2B. The sandbox has your repo cloned, dependencies installed, and a dev server running. It comes in two sizes:

SizeCPUMemoryCost
Small2 vCPU4 GB$0.000092/s
Large4 vCPU8 GB$0.000184/s

While the agent is actively working, the sandbox stays running for up to 24 hours. Once the agent goes idle, it auto-pauses after 5 minutes to save costs. Paused time is not billed. All memory state is preserved — when you resume, everything picks up right where it left off. Sending a message auto-resumes the sandbox, or you can click the Resume button on the right-side panels to resume for 5 minutes.

Snapshots

When you create a project, a setup agent installs everything your project needs (runtimes, dependencies, services) and takes a snapshot. This snapshot is a frozen image of the fully configured environment.

Every new coding session boots from this snapshot, so you skip the setup time and start coding immediately. The setup agent only runs once during initial project creation.

If your dependencies or environment change later, you can update the snapshot from project settings. This re-runs the setup agent on top of the existing snapshot and creates a new one.

Setup command vs dev command

During setup, the agent determines two commands for your project:

  • Setup command — runs once during the initial project setup. This installs dependencies, runs database migrations, seeds data, etc. It's baked into the snapshot and doesn't run again on new sessions.
  • Dev command — runs at the start of every session. Typically starts your dev server (e.g., npm run dev). Since sessions boot from a snapshot, this command only needs to start the server, not reinstall anything.

Plan mode

When plan mode is enabled, the agent proposes a plan before making changes and waits for your approval. This is useful for complex tasks where you want to review the approach before the agent starts coding.

Browser verification

For web applications, you can optionally enable browser verification. This runs an automated browser after code changes to verify the app works correctly. It requires the large sandbox size and can be configured with cookies for authenticated testing.