Skip to main content

Environments

An Environment in Codebolt defines the execution context for agent runs — the shell, environment variables, runtime versions, and crucially, where the agent process runs.

Codebolt separates the concern of what agents do from where they execute. The same agent task can run locally on your machine, inside a Docker container, in an E2B cloud sandbox, or on a remote server — by changing only the environment configuration.

Environment types

TypeWhere the agent runsBest for
LocalYour machine, using your installed toolsDevelopment, fast iteration
Remote SSHA remote server you controlStaging, production-adjacent testing
DockerAn isolated container on your machine or a remote hostReproducible builds, dependency isolation
E2BA cloud sandbox spun up on demandEphemeral tasks, parallel runs
DaytonaA managed cloud workspaceTeam environments, persistent remote dev
Git WorktreeA separate worktree of the same repoParallel branches, isolated experiments

How environments work

Codebolt keeps the local server as the control plane — it owns run state, event logs, and orchestration. When you select a remote environment provider, the provider creates or attaches to the target execution environment and starts the agent runtime there. The remote runtime connects back to Codebolt over WebSocket. From that point, the agent loop runs remotely while Codebolt continues receiving events, tool outputs, and log streams locally.

Local Codebolt server ──▶ Provider ──▶ Remote environment
▲ │
└──────────── WebSocket (events) ──────────┘

What environments control

SettingDescription
Environment variablesInjected into every agent process, stored encrypted
Working directoryStarting path for agent file operations
ShellWhich shell binary agent commands run under
Runtime versionsNode, Python, or other language runtimes pre-installed in the environment
Provider configConnection details, resource limits, region (for cloud providers)

In this section

PageWhat it covers
Configuring EnvironmentsCreating, editing, and switching environments in the UI
Environment ProvidersConnecting E2B, Docker, Daytona, Git worktree, and remote servers
Environment DebugInspect resolved environment variables at runtime

See also