By default, GitHub Codespaces are automatically deleted after they have been stopped and have remained inactive for 30 days.
However, because GitHub Codespaces incurs storage charges, you may prefer to reduce the retention period by changing your default period in your personal settings for GitHub Codespaces. For more information about storage charges, see "About billing for GitHub Codespaces."
Note
Whether or not you have set a personal codespace retention period, it's a good idea to get into the habit of deleting codespaces that you no longer need. See "Deleting a codespace."
Automatic deletion happens irrespective of whether a codespace contains unpushed changes. To prevent automatic deletion of a codespace, just open the codespace again. The retention period is reset every time you connect to a codespace, and the retention countdown restarts when the codespace is stopped.
If a repository belongs to an organization, the organization owner may have set a retention period for the whole organization. If this period is less than the default retention period in your personal settings then the organization retention period will apply to codespaces you create for this repository. See "Restricting the retention period for codespaces."
Each codespace has its own retention period. You may, therefore, have codespaces with different retention periods. For example, if:
- You created a codespace, changed your default retention period, then created another codespace.
- You created a codespace using GitHub CLI and specified a different retention period.
- You created a codespace for an organization-owned repository that has a retention period configured in the organization settings. The ownership of the codespaces you create is shown on the "Your codespaces" page.
Note
The retention period is specified in days. A day represents a 24-hour period, beginning at the time of day when you stop a codespace.
Setting a default retention period for your codespaces
-
In the upper-right corner of any page on GitHub, click your profile photo, then click Settings.
-
In the "Code, planning, and automation" section of the sidebar, click Codespaces.
-
Under "Default retention period", enter the number of days for which you want your codespaces to be retained, by default, after they have been stopped.
You can set your default retention period between
0
and30
days.Warning
Setting the period to
0
will result in your codespaces being immediately deleted when you stop them, or when they timeout due to inactivity. See "Setting your timeout period for GitHub Codespaces." -
Click Save.
When you create a codespace using GitHub CLI you can override this default. If you create a codespace in an organization that specifies a shorter retention period, the organization-level value overrides your personal setting.
If you set a retention period of more than a day, you'll be sent an email notification one day prior to its deletion.
Checking the remaining time until autodeletion
You can check whether a codespace is due to be automatically deleted soon.
When an inactive codespace is approaching the end of its retention period, this is indicated in your list of codespaces on GitHub at https://github.com/codespaces.
Avoiding automatic deletion of codespaces
You may have a codespace that you want to keep for longer than the retention period defined in your personal settings. You can do this by using the "Keep codespace" option. When you select this option, your codespace will be retained indefinitely, until you delete it manually.
Note
The "Keep codespace" option is not available for organization-owned codespaces affected by an organization retention policy.
Codespaces incur storage costs, or consume your included storage allowance if the codespace is owned by your personal GitHub account. You should therefore be aware of the cost implications of storing codespaces indefinitely. See "About billing for GitHub Codespaces."
-
In the top-left corner of GitHub, select , then click Codespaces to take you to the "Your codespaces" page at github.com/codespaces.
-
To the right of the codespace you want to exempt from automatic deletion, click , then click Keep codespace.
Codespaces that you have exempted from automatic deletion are indicated in your list of codespaces with the bookmark icon ().
Setting a retention period for a codespace
If you have installed GitHub CLI, you can use it to work with GitHub Codespaces. For installation instructions for GitHub CLI, see the GitHub CLI repository.
To set the codespace retention period when you create a codespace, use the --retention-period
flag with the codespace create
subcommand. Specify the period in days. The period must be between 0 and 30 days.
gh codespace create --retention-period DAYS
If you don't specify a retention period when you create a codespace, then either your default retention period, or an organization retention period, will be used, depending on which is lower. For information about setting your default retention period, click the "Web browser" tab on this page.
To learn more about GitHub CLI, see "About GitHub CLI."
Setting the retention period
You can set your default retention period in your web browser, on GitHub. Alternatively, if you use GitHub CLI to create a codespace you can set a retention period for that particular codespace. For more information, click the appropriate tab above.
Checking whether codespaces will be autodeleted soon
You can check, in the Visual Studio Code desktop application, whether a codespace is due to be automatically deleted soon.
-
In VS Code, in the Activity Bar, click the Remote Explorer icon.
Note
If the Remote Explorer is not displayed in the Activity Bar:
- Access the Command Palette. For example, by pressing Shift+Command+P (Mac) / Ctrl+Shift+P (Windows/Linux).
- Type:
details
. - Click Codespaces: Details.
-
Choose GitHub Codespaces from the dropdown menu at the top right of the Remote Explorer, if it is not already selected.
-
Under "GITHUB CODESPACES," position the mouse pointer over the codespace that you're interested in. A pop-up box is displayed showing you information about the codespace.
If the codespace is nearing the end of its retention period, a line is included telling when this period is due to expire.