Codespaces documentation
Create a codespace to start developing in a secure, configurable, and dedicated development environment that works how and where you want it to.
Start here
View allEnabling or disabling GitHub Codespaces for your organization
You can control which users can use GitHub Codespaces in your organization's private repositories.
Understanding the codespace lifecycle
Learn how to develop in a GitHub Codespaces environment, and maintain your data throughout the entire codespace lifecycle.
Introduction to dev containers
When you work in a codespace, the environment you are working in is created using a development container, or dev container, hosted on a virtual machine.
Managing access to other repositories within your codespace
You can manage the repositories that GitHub Codespaces can access.
Set up your project
Setting up a Node.js project for GitHub Codespaces
Get started with a Node.js, JavaScript, or TypeScript project in GitHub Codespaces by creating a custom dev container configuration.
Setting up a Python project for GitHub Codespaces
Get started with a Python project in GitHub Codespaces by creating a custom dev container configuration.
Setting up a Java project for GitHub Codespaces
Get started with a Java project in GitHub Codespaces by creating a custom dev container configuration.
Setting up a C# (.NET) project for GitHub Codespaces
Get started with a C# (.NET) project in GitHub Codespaces by creating a custom dev container configuration.
Deep dive into GitHub Codespaces
Explore more detail about how GitHub Codespaces work.
Creating a codespace for a repository
You can create a codespace for a branch in a repository to develop online.
Creating a codespace from a template
If you're starting a new project, you can create a codespace from a blank template or choose a template specially designed for the type of work you want to do.
Opening an existing codespace
You can reopen a codespace that you have closed or stopped and return to your work.
Developing in a codespace
- Developing in a codespace
- Creating a codespace for a repository
- Creating a codespace from a template
- Deleting a codespace
- Opening an existing codespace
- Working collaboratively in a codespace
- Using source control in your codespace
- Using GitHub Codespaces for pull requests
- Stopping and starting a codespace
- Forwarding ports in your codespace
- Rebuilding the container in a codespace
- Default environment variables for your codespace
- Persisting environment variables and temporary files
- Connecting to a private network
- Getting started with GitHub Codespaces for machine learning
- Using GitHub Codespaces in Visual Studio Code
- Using GitHub Codespaces with GitHub CLI
Managing GitHub Codespaces for your organization
- Enabling or disabling GitHub Codespaces for your organization
- Choosing who owns and pays for codespaces in your organization
- Listing the codespaces in your organization
- Managing the cost of GitHub Codespaces in your organization
- Managing development environment secrets for your repository or organization
- Reviewing your organization's audit logs for GitHub Codespaces
- Restricting access to machine types
- Restricting the number of organization-billed codespaces a user can create
- Restricting the base image for codespaces
- Restricting the visibility of forwarded ports
- Restricting the idle timeout period
- Restricting the retention period for codespaces
Troubleshooting GitHub Codespaces
- GitHub Codespaces logs
- Troubleshooting GitHub Codespaces clients
- Getting the most out of your included usage
- Exporting changes to a branch
- Troubleshooting creation and deletion of codespaces
- Troubleshooting authentication to a repository
- Troubleshooting your connection to GitHub Codespaces
- Troubleshooting prebuilds
- Troubleshooting personalization options for GitHub Codespaces
- Troubleshooting port forwarding for GitHub Codespaces
- Troubleshooting GPG verification for GitHub Codespaces
- Working with support for GitHub Codespaces