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.- Snapshot: A pre-built image containing your repos, tools, and dependencies. Prepared in advance through configuration.
- 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.
Before you start
Before configuring Devin’s environment, make sure Devin can access your repositories:Non-enterprise users
Non-enterprise users
- 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.
Enterprise users
Enterprise users
- Connect your SCM provider (enterprise admin). Go to Enterprise Settings > Integrations and connect your SCM provider. See Git Integrations for setup instructions.
- 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.
- Configure the environment (org admin). Once an org has repo access, proceed to environment configuration below.
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.
- Visual, step-by-step
- No YAML required
- Migrate to declarative →
Related pages
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.
