Skip to main content

Restricting the idle timeout period

You can set a maximum timeout period for any codespaces owned by your organization.

Who can use this feature

To manage timeout constraints for an organization's codespaces, you must be an owner of the organization.

GitHub Codespaces está disponible para las organizaciones que usen GitHub Team o GitHub Enterprise Cloud. GitHub Codespaces también está disponible como versión beta limitada para usuarios individuales en los planes GitHub Free y GitHub Pro. Para más información, vea "Productos de GitHub".

Overview

By default, codespaces time out after 30 minutes of inactivity. When a codespace times out it is stopped and will no longer incur charges for compute usage.

The personal settings of a GitHub user allow them to define their own timeout period for codespaces they create. This may be longer than the default 30-minute period. For more information, see "Setting your timeout period for GitHub Codespaces."

As an organization owner, you may want to configure constraints on the maximum idle timeout period for codespaces created for repositories owned by your organization. This can help you to limit costs associated with codespaces that are left to timeout after long periods of inactivity. You can set a maximum timeout for the codespaces for all repositories owned by your organization, or for the codespaces of specific repositories.

Note: Maximum idle timeout constraints only apply to codespaces that are owned by your organization.

For more information about pricing for GitHub Codespaces compute usage, see "About billing for GitHub Codespaces."

Behavior when you set a maximum idle timeout constraint

If someone sets the default idle timeout to 90 minutes in their personal settings and they then start a codespace for a repository with a maximum idle timeout constraint of 60 minutes, the codespace will time out after 60 minutes of inactivity. When codespace creation completes, a message explaining this will be displayed:

Idle timeout for this codespace is set to 60 minutes in compliance with your organization’s policy.

Setting organization-wide and repository-specific policies

When you create a policy, you choose whether it applies to all repositories in your organization, or only to specified repositories. If you create an organization-wide policy with a timeout constraint, then the timeout constraints in any policies that are targeted at specific repositories must fall within the restriction configured for the entire organization. The shortest timeout period - in an organization-wide policy, a policy targeted at specified repositories, or in someone's personal settings - is applied.

If you add an organization-wide policy with a timeout constraint, you should set the timeout to the longest acceptable period. You can then add separate policies that set the maximum timeout to a shorter period for specific repositories in your organization.

Nota: Las políticas de organización que definas para Codespaces solo se aplican a los codespaces para los que se facturará la organización. Si un usuario individual crea un codespace para un repositorio de tu organización y la organización no se factura, dicho codespace no estará enlazado por estas políticas. Para obtener información sobre cómo elegir quién puede crear codespaces que se facturan a tu organización, consulta "Habilitar GitHub Codespaces para tu organización".

Adding a policy to set a maximum idle timeout period

  1. En la esquina superior derecha de GitHub.com, haga clic en la foto de perfil y luego en Your organizations. Opción Your organizations (Sus organizaciones) en el menú del perfil

  2. Junto a la organización, haga clic en Settings. El botón de configuración

  3. En la sección "Código, planificación y automatización" de la barra lateral, seleccione Codespaces y, después, haga clic en Directivas.

  4. En la página "Directivas de codespace", haga clic en Crear directiva.

  5. Ingresa un nombre para tu política nueva.

  6. Click Add constraint and choose Maximum idle timeout.

    Add a constraint for idle timeout

  7. Click to edit the constraint.

    Edit the timeout constraint

  8. Enter the maximum number of minutes codespaces can remain inactive before they time out, then click Save.

    Set the maximum timeout in minutes

  9. En el área de "Cambiar destino de la política", haz clic en el botón desplegable.

  10. Elija All repositories o Selected repositories para determinar a qué repositorios se aplicará esta directiva.

  11. Si ha elegido Selected repositories:

    1. Haga clic en .

      Editar los ajustes para la política

    2. Selecciona los repositorios a los cuales quieres que aplique esta política.

    3. En la parte inferior de la lista de repositorios, haga clic en Select repositories.

      Selecciona los repositorios para esta política

  12. If you want to add another constraint to the policy, click Add constraint and choose another constraint. For information about other constraints, see "Restricting access to machine types," "Restricting the visibility of forwarded ports," and "Restricting the retention period for codespaces."

  13. After you've finished adding constraints to your policy, click Save.

The policy will be applied to all new codespaces that are created, and to existing codespaces the next time they are started.

Editing a policy

You can edit an existing policy. For example, you may want to add or remove constraints to or from a policy.

  1. Display the "Codespace policies" page. For more information, see "Adding a policy to set a maximum idle timeout period."
  2. Click the name of the policy you want to edit.
  3. Make the required changes then click Save.

Deleting a policy

  1. Display the "Codespace policies" page. For more information, see "Adding a policy to set a maximum idle timeout period."

  2. Click the delete button to the right of the policy you want to delete.

    The delete button for a policy