1300 CODIFY

Mastering GitHub Codespaces CLI: A Developer’s Guide

by | 10 Mar, 2025 | Blog

GitHub Codespaces CLI is a powerful set of GitHub CLI (gh) commands designed to manage Codespaces directly from the terminal. It enables developers to handle their cloud-based development environments efficiently without solely relying on the GitHub web interface.

Key Features:

  • Create, list, edit, stop, and delete Codespaces with simple commands.
  • Streamline workflow management across different development environments.
  • Optimise resources by setting machine types and idle timeouts.

 

Why Should You Consider Using GitHub Codespaces CLI?

Streamlined Workflow Management

Managing multiple Codespaces for different development needs is essential for efficient software development. GitHub Codespaces CLI simplifies this by allowing developers to:

  • Configure backend Codespaces with .NET, databases, and VS Code extensions.
  • Set up frontend Codespaces with Angular, Node.js, and TypeScript.
  • Easily switch between different development environments without hassle.

Optimised Resource Utilisation

The CLI provides better control over machine types and idle times, ensuring efficient resource allocation and cost management:

  • Idle Time Configuration: Automatically stop unused Codespaces to conserve resources and reduce expenses.
  • Environment Consistency: Minimize discrepancies between different environments, ensuring a more reliable and collaborative development experience.

Boosted Developer Productivity

Using GitHub Codespaces CLI reduces setup time and minimizes context switching, allowing developers to:

  • Quickly manage multiple Codespaces without relying on the GitHub web UI.
  • Make rapid adjustments directly via terminal commands.
  • Optimise resource usage with configurable idle times and machine types.

 

Essential GitHub CLI Commands for Codespaces

Common Commands

  • List Codespaces:
    • gh codespace list
      • View all your Codespaces.
      • Filtering: Use –repo to filter Codespaces by repository.
  • Create a Codespace:
    • gh codespace create –repo <repository> –distplay-name <name> –idle-time <duration> –machine <machine-type>
      • Parameters:
        • –repo: Specify the repository for the Codespace.
        • –display-name: Assign a meaningful name to the Codespace.
        • –idle-timeout: Set the idle timeout duration.
        • –machine: Choose the machine type (e.g., basicLinux32gb, standardLinux32gb, premiumLinux, largePremiumLinux)
  • Open a Codespace Locally:
    • gh codespace code -c <codespace-id>
      • Options:
        • -c: Specify the Codespace ID from the list command.
        • Alternatively, select from an interactive picker.
    • Or using the -c flag
  • Edit a Codespace:
    • gh codespace edit <codespace-id> –machine <new-machine-type>
      • Note: Idle time cannot be edited via this command.
  • Stop a Codespace:
    • gh codespace stop <codespace-id>
      • Stops the specified Codespace, freeing up resources without deleting it.
  • Delete a Codespace:
    • gh codespace delete <codespace-id>
      • Permanently removes the specified Codespace, freeing up associated resources.

Additional Management Tips:

  • SSH Access:
    • Use gh codespace ssh <codespace-id> to access the Codespace terminal directly via SSH.
  • Aliases for Efficiency:
    • GitHub CLI comes with aliases, for example list:
  • Built-in help:
    • One of the most powerful aspects of GitHub CLI is its built-in help system. If you’re ever unsure about a command, use: gh codespace list –help

 

Pros and Cons of Using GitHub Codespaces CLI

Pros:

Efficient Management: Quick and easy Codespaces handling via the terminal.

Streamlined Workflow: Eliminates the need to switch between the web UI and CLI.

Integrated Environment Management: Supports SSH access for advanced control.

Resource Control: Allows precise machine selection and idle timeout settings.

Cons:

Limited Edit Options: Some settings, like idle time, cannot be changed after creation.

CLI-Specific Issues: Occasional bugs or limitations within the GitHub CLI.

Learning Curve: Users unfamiliar with command-line interfaces may find it less intuitive.

 

Conclusion

GitHub Codespaces CLI is an essential tool for developers who want to streamline their workflow by managing Codespaces directly from the terminal. By leveraging simple yet powerful commands, developers can quickly create, edit, and stop Codespaces, leading to better resource optimization and improved productivity. While there is a learning curve for those new to CLI tools, the efficiency gains make it well worth the effort.

Ready to connect with Codify to discuss your next cloud project?

I know what I want:

I don’t know what I need:

Ready to connect with Codify to discuss your next cloud project?

I know what I want:

I don't know what I need: