Skip to main content

GitHub Codespaces overview

This guide introduces GitHub Codespaces and provides details on how it works and how to use it.

GitHub Codespaces is available for organizations using GitHub Team or GitHub Enterprise Cloud. For more information, see "GitHub's products."

What is a codespace?

A codespace is a development environment that's hosted in the cloud. You can customize your project for GitHub Codespaces by committing configuration files to your repository (often known as Configuration-as-Code), which creates a repeatable codespace configuration for all users of your project.

GitHub Codespaces run on a variety of VM-based compute options hosted by GitHub.com, which you can configure from 2 core machines up to 32 core machines. You can connect to your codespaces from the browser or locally using Visual Studio Code.

A diagram showing how Codespaces works

Using GitHub Codespaces

You can create a codespace from any branch or commit in your repository and begin developing using cloud-based compute resources. To get started with Codespaces, see "Quickstart for GitHub Codespaces." To learn more about how Codespaces works, see "Deep dive into GitHub Codespaces."

To customize the runtimes and tools in your codespace, you can create one or more dev container configurations for your repository. Adding dev container configurations to your repository allows you to define a choice of different development environments that are appropriate for the work people will do in your repository.

If you don't add a dev container configuration, GitHub Codespaces will clone your repository into an environment with the default codespace image that includes many tools, languages, and runtime environments. For more information, see "Introduction to dev containers".

You can also personalize aspects of your codespace environment by using a public dotfiles repository and Settings Sync. Personalization can include shell preferences, additional tools, editor settings, and VS Code extensions. For more information, see "Customizing your codespace".

About billing for Codespaces

For information on pricing, storage, and usage for Codespaces, see "Managing billing for Codespaces."

Note: You must set a spending limit before you can use Codespaces.

By default, your organization or enterprise will have a GitHub Codespaces spending limit of $0, which prevents new codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0.

Overages are always billed monthly regardless of your billing term (even if your account is otherwise billed annually). For information on how organizations owners and billing managers can manage the spending limit for Codespaces for an organization, see "Managing your spending limit for Codespaces."