Skip to main content
Devin can configure its own environment for you. Just start a session and ask. Learn more →

What is Devin’s environment?

Devin’s environment is the workspace where Devin operates: a Linux-based virtual machine with your repositories cloned, tools installed, dependencies resolved, and configuration applied. It’s the equivalent of a developer’s laptop: the OS, the terminal, the installed toolchain, the cloned repos. Your environment configuration is saved as a snapshot, a frozen, bootable image that every session starts from. Configure it once, and every session boots into that known-good state.

Why environment configuration matters

Devin works the same way any developer does: it clones repos, installs dependencies, runs lint, compiles code, and executes tests. To do any of that, it needs a working environment. Without one, Devin can’t build your project, can’t run your tests, and can’t verify its own work. It would be like hiring a developer and not giving them a laptop. Environment configuration gives Devin the tools, runtimes, credentials, and project knowledge it needs to be productive from the first session. It also makes sessions faster: your snapshot already has repos cloned and dependencies installed, so Devin boots straight into productive work instead of setting up from scratch every time. This is the single highest-leverage thing you can do to improve Devin’s effectiveness on your codebase.

How sessions work

Every session boots from a snapshot, a frozen, bootable image of the environment.
  1. Snapshot: A pre-built image containing your repos, tools, and dependencies. Prepared in advance through configuration.
  2. Session: Devin boots a fresh copy of the snapshot. Every session starts from the same clean state. Session changes don’t persist back to the snapshot.
When your configuration changes, a new snapshot is built automatically. Each organization has exactly one active snapshot. Every session in that org boots from the same snapshot.

Before you start

Before configuring Devin’s environment, make sure Devin can access your repositories:
  1. Connect your SCM provider. Go to Settings > Integrations and connect GitHub, GitLab, Bitbucket, or Azure DevOps. Select which repositories Devin can access during setup. See the integration guides for detailed instructions.
That’s it. Once connected, you can proceed to environment configuration.
  1. Connect your SCM provider (enterprise admin). Go to Enterprise Settings > Integrations and connect your SCM provider. See Git Integrations for setup instructions.
  2. Grant each org access to its repos (enterprise admin). Go to Enterprise Settings > Repository Permissions and assign repositories to each organization. Orgs cannot see or use repos until you explicitly grant access. See Repository Permissions.
  3. Configure the environment (org admin). Once an org has repo access, proceed to environment configuration below.
If you skip these steps, repos won’t appear when you try to add them to your environment. Devin needs repository access through your Git integration before it can clone and build.

Choose your approach

There are two ways to configure Devin’s environment:

Declarative configuration

Recommended. Define your environment configuration in YAML format (blueprint). Specify what to install, how to set up dependencies, and what Devin should know about your project. Builds run automatically to produce snapshots.
  • Version controlled
  • Auto-updating
  • Composable across tiers
  • Reproducible

Classic configuration

Configure Devin’s environment through an interactive wizard in the web UI. Step through guided screens (secrets, dependencies, lint, test, run) using an embedded terminal.

Blueprint reference

Full field specification for blueprints: sections, GitHub Actions support, env vars, file attachments.

Template library

Copy-paste blueprints for Python, Node.js, Go, Java, Ruby, Rust, and advanced patterns.

Migrating from classic setup

Step-by-step guide to move from the interactive wizard to declarative blueprints.

Enterprise environment management

Enterprise-wide environment management: 3-tier hierarchy, secrets, and cross-org configuration.