Note: Codespaces is currently in limited public beta and subject to change. For more information about joining the beta, see "About Codespaces."
Codespaces is a configurable cloud development environment available in your browser on GitHub or through Visual Studio Code.
A codespace includes everything developers need to develop for a specific repository, including the Visual Studio Code editing experience and common languages, tools, and utilities. Codespaces is completely configurable, allowing you to create a customized development environment for your project, and allowing developers to personalize their experience with extensions and dotfile settings.
Codespaces offers many benefits to teams by allowing for a consistent environment across your entire team, fast onboarding, and creating a secure space for development.
You can create a single codespace configuration that defines the environment (or dev container) of every new codespace that anyone creates for your repository. Once you've made a configuration, developers don’t have to worry about installing the right tools to comment, review, or contribute. A standardized environment is already available for them as soon as they create a codespace from the repository. For more information, see "Configuring Codespaces for your project."
For help getting started with configurations for specific languages, see the Getting Started tutorials.
While every codespace created from your repository has a consistent development environment, developers can use Codespaces wherever they need it – on GitHub or through Visual Studio Code.
With a dev container configured in your repository, any new developer can quickly onboard with the correct development environment for your project by using the Code drop-down menu, and selecting Open with Codespaces.
As a result of standardizing on a repeatable developer environment, developers can get started with a new codespace without doing any manual configuration and do not need to do continued maintenance of their developer environment. A new codespace can be created when starting a new feature.
Developers can also personalize aspects of their codespace environment by using a dotfiles repository and Settings Sync. Personalization can include shell preferences, additional tools, editor settings, and extensions, such as Live Share. Personal customizations are stored on a per-user basis, so every codespace a developer opens has their environment ready to go. For more information, see "Personalizing Codespaces for your account."
Because Codespaces can be accessed in the browser, developers can work on multiple projects by switching between tabs.
Codespaces allows developers to develop in the cloud instead of locally. This creates one single, trackable, source of truth. Developers can contribute from anywhere, on any machine, including tablets or Chromebooks, and there is no need to maintain local copies of intellectual property. Developers always have to be logged in and provided with access to both Codespaces and specific repositories. These permissions can be revoked at any time. As soon as you revoke access, those developers will lose all access to protected resources. In addition, authenticated developers create audit trails so you know who is doing what. For more information on access and security, see "Managing access and security for your organization's codespaces."
Using Codespaces is the most secure when all members of your team are using it. It means that there is no need to clone the repository onto a local machine and that developers don't need to install locally as
Developers and organization administrators can also configure settings to add encrypted secrets and enable GPG verification. For more information, see "Managing encrypted secrets for Codespaces", "Managing GPG verification for Codespaces".
Codespaces is free to use during the beta. When Codespaces becomes generally available, you will be billed for storage and compute usage. For more information, see "About billing for Codespaces."
A limited number of people will be invited to join the beta. To join the waitlist, see Sign up for Codespaces beta.
If you encounter problems using Codespaces, see "Troubleshooting your codespace."
If you still need help or have feedback about Codespaces, use the Codespaces Feedback discussion.