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. GitHub Codespaces is also available as a limited beta release for individual users on GitHub Free and GitHub Pro plans. 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, 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 GitHub 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 GitHub Codespaces, see "Quickstart for GitHub Codespaces." For more information on creating or reopening a codespace, see "Creating a codespace" and "Opening an existing codespace." To learn more about how GitHub 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 GitHub Codespaces, see "About billing for GitHub Codespaces."

Note: You must set a non-zero spending limit before you can use GitHub Codespaces.

By default, your organization or enterprise will have a GitHub Codespaces spending limit of $0. This prevents new codespaces from being created, or existing codespaces from being opened, if this would incur a billable cost to your organization or enterprise. 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 GitHub Codespaces for an organization, see "Managing spending limits for GitHub Codespaces."