Each Environment is a fully-featured development container exposing VS Code. Environments are created from a pre-defined Docker image version.

Each Environment belongs to a single user.


The environment page is your home page in the dashboard.


Developers care deeply about their themes, extensions, and configuration options. We address these needs through ~/.coder/setup.sh, which is a customizeable script that runs each time the environment is built, and a persistent home folder.


If ~/.coder/setup.sh exists in the environment, it's ran each time the environment is upgraded as the final build step.

Persistent Home

The /home folder persists and is outside the control of the image.

Feel free to load up the home with special settings, tools, extensions, projects, and whatever else you desire.

The home lives on a persistent volume, providing redundancy and fault tolerance to the most important files.

Keeping environments up to date

New image versions can be published by image writes. These new image versions may contain updated dependencies and tooling to help while developing the project.

The image version that an environment is running is stored in the cemanager and a user will be notified when a newer image version has been published for an environment.

Special Files and Directories


/coder is where an image should place files that are to be configured with the user's home. The image has no control over a user's home. /coder is a place where administrators can recommend files to the user.


Image-defined VSCode extensions directory.

Table of Contents