Browse free open source Go Command Line Tools and projects below. Use the toggles on the left to filter open source Go Command Line Tools by OS, license, language, programming language, and project status.

  • Full-stack observability with actually useful AI | Grafana Cloud Icon
    Full-stack observability with actually useful AI | Grafana Cloud

    Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

    Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
    Create free account
  • Try Google Cloud Risk-Free With $300 in Credit Icon
    Try Google Cloud Risk-Free With $300 in Credit

    No hidden charges. No surprise bills. Cancel anytime.

    Use your credit across every product. Compute, storage, AI, analytics. When it runs out, 20+ products stay free. You only pay when you choose to.
    Start Free
  • 1
    IPATool

    IPATool

    Command-line tool that allows searching and downloading app packages

    ipatool is a command line tool that allows you to search for iOS apps on the App Store and download a copy of the app package, known as an ipa file. Supported operating system (Windows, Linux or macOS). Apple ID is set up to use the App Store. To authenticate with the App Store, use the auth command. To search for apps on the App Store, use the search command. To obtain a license for an app, use the purchase command. To download a copy of the ipa file, use the download command.
    Downloads: 145 This Week
    Last Update:
    See Project
  • 2
    GitHub CLI

    GitHub CLI

    GitHub’s official command line tool

    GitHub CLI is a free and open-source tool that brings GitHub functionality directly to the command line. It allows developers to manage repositories, pull requests, issues, and releases without leaving the terminal. With simple commands, users can perform common GitHub tasks such as checking out pull requests or creating issues locally. The CLI helps eliminate context switching by enabling a full GitHub workflow from the terminal environment. Developers can also interact with the GitHub API to automate tasks and create custom scripts or command aliases. Additionally, GitHub CLI supports connections to both GitHub.com and GitHub Enterprise Server for enterprise-ready workflows.
    Downloads: 23 This Week
    Last Update:
    See Project
  • 3
    arduino-cli

    arduino-cli

    Arduino command line tool

    Arduino CLI is an all-in-one solution that provides Boards/Library Managers, sketch builders, board detection, uploader, and many other tools needed to use any Arduino compatible board and platform from the command line or machine interfaces. In addition to being a standalone tool, Arduino CLI is the heart of all official Arduino development software (Arduino IDE, Arduino Web Editor). The script requires sh, which is always available on Linux and macOS. sh is not available by default on Windows, though it is available as part of Git for Windows (Git Bash). If you don't have sh available, use the "Download" installation option. If you would like to use the arduino-cli command from any location, install Arduino CLI to a directory already in your PATH or add the Arduino CLI installation path to your PATH environment variable.
    Downloads: 23 This Week
    Last Update:
    See Project
  • 4
    gogcli

    gogcli

    Google Suite CLI: Gmail, GCal, GDrive, GContacts

    gogcli is a command-line interface tool that provides developers and power users with direct terminal access to a wide range of Google services without needing to leave the shell. This CLI tool covers several Google Workspace APIs including Gmail for email management, Google Calendar for scheduling and events, Google Drive for file operations, and Google Contacts for personal and corporate contact management. gogcli makes it possible to script repetitive tasks, automate workflows, and fetch or modify data from Google services in environments where GUI access isn’t practical. It’s particularly useful for developers who want to build integrations, handle bulk operations, or build tooling that interacts with Google APIs in CI/CD pipelines or automation scripts.
    Downloads: 14 This Week
    Last Update:
    See Project
  • Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
    Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

    General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

    Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
    Try Free
  • 5
    GeoIP

    GeoIP

    This project automatically generates GeoIP files in multiple formats

    GeoIP is a community-maintained project that generates and publishes enhanced GeoIP/Geo-database and IP-location/routing data in multiple formats (e.g. V2Ray .dat, MaxMind .mmdb, and others) to support proxy, VPN, or routing tools requiring IP-to-country/region resolution. Rather than depending solely on the official GeoLite2 data, geoip augments and merges data sources (especially for certain regions) to improve coverage or tailor by use-case (e.g. proxy-specific rules, private networks, or region-based classification). The repo provides automated, periodic releases (e.g. weekly or on schedule) and also offers a CLI tool so users can regenerate or customize geo data in the format they need — for example, producing a .dat file for V2Ray / Xray-core, or a MaxMind-compatible .mmdb.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 6
    NextDNS

    NextDNS

    NextDNS CLI client (DoH Proxy)

    NextDNS protects you from all kinds of security threats, blocks ads and trackers on websites and in apps and provides a safe and supervised Internet for kids, on all devices and on all networks. Determine your threat model and fine-tune your security strategy by enabling 10+ different types of protections. Use the most trusted threat intelligence feeds containing millions of malicious domains, all updated in real-time. Go beyond the domain, we analyze DNS questions and answers on-the-fly (in a matter of nanoseconds) in order to detect and block malicious behavior. With usually only a few hours between domain registration and the start of an attack, our threat intelligence system is built to catch malicious domains earlier than classic security solutions. Block ads and trackers on websites and in apps, including the most devious ones. Use the most popular ads & trackers blocklists, millions of domains all updated in real-time.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 7
    Swagger 2.0

    Swagger 2.0

    Swagger 2.0 implementation for go

    This package contains a golang implementation of Swagger 2.0 (aka OpenAPI 2.0), it knows how to serialize and deserialize swagger specifications. With the largest ecosystem of API tooling on the planet, thousands of developers are supporting Swagger in almost every modern programming language and deployment environment. With a Swagger-enabled API, you get interactive documentation, client SDK generation and discoverability. We created Swagger to help fulfill the promise of APIs. Swagger helps companies like Apigee, Getty Images, Intuit, LivingSocial, McKesson, Microsoft, Morningstar, and PayPal build the best possible services with RESTful APIs. Now in version 2.0, Swagger is more enabling than ever. And it's 100% open-source software. go-swagger brings to the go community a complete suite of fully-featured, high-performance, API components to work with a Swagger API, server, client, and data model.
    Downloads: 8 This Week
    Last Update:
    See Project
  • 8
    JiraCLI

    JiraCLI

    Feature-rich interactive Jira command line

    JiraCLI is an interactive command line tool for Atlassian Jira that will help you avoid Jira UI to some extent. This tool is not yet considered complete but has all the essential features required to improve your workflow with Jira. The tool started with the idea of making issue search and navigation as straightforward as possible. However, with the help of outstanding supporters like you, we evolved, and the tool now includes all necessary features like issue creation, cloning, linking, ticket transition, and much more. Note that some features might work slightly differently in cloud installation versus on-premise installation due to the nature of the data. Yet, we've attempted to make the experience as similar as possible. jira-cli is available as a downloadable packaged binary for Linux, macOS, and Windows from the releases page.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 9
    fzf

    fzf

    A command-line fuzzy finder

    fzf is a general-purpose command-line fuzzy finder. It's an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc. fzf will launch an interactive finder, read the list from STDIN, and write the selected item to STDOUT. Without STDIN pipe, fzf will use find command to fetch the list of files excluding hidden ones. (You can override the default command with FZF_DEFAULT_COMMAND). fzf by default starts in fullscreen mode, but you can make it start below the cursor with the height option. Unless otherwise specified, fzf starts in "extended-search mode" where you can type in multiple search terms delimited by spaces. Fuzzy completion for files and directories can be triggered if the word before the cursor ends with the trigger sequence, which is by default **. Fuzzy completion for PIDs is provided for the kill command. In this case, there is no trigger sequence.
    Downloads: 6 This Week
    Last Update:
    See Project
  • Enterprise-grade ITSM, for every business Icon
    Enterprise-grade ITSM, for every business

    Give your IT, operations, and business teams the ability to deliver exceptional services—without the complexity.

    Freshservice is an intuitive, AI-powered platform that helps IT, operations, and business teams deliver exceptional service without the usual complexity. Automate repetitive tasks, resolve issues faster, and provide seamless support across the organization. From managing incidents and assets to driving smarter decisions, Freshservice makes it easy to stay efficient and scale with confidence.
    Try it Free
  • 10
    saml2aws

    saml2aws

    CLI tool which enables you to login and retrieve AWS credentials

    CLI tool which enables you to log in and retrieve AWS temporary credentials using ADFS or PingFederate Identity Providers. Aside from Okta, most of the providers in this project are using screen scraping to log users into SAML, this isn't ideal and hopefully, vendors make this easier in the future.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 11
    xurl CLI

    xurl CLI

    The official CLI for the X API

    xurl is a modern command-line HTTP client designed to provide a flexible and developer-friendly alternative to traditional tools like curl. It introduces a simplified syntax and enhanced usability, making it easier to construct and execute HTTP requests without memorizing complex command structures. The tool supports a wide range of HTTP operations, including GET, POST, PUT, and DELETE, while also providing features such as request templating and reusable configurations. It is designed for efficiency, allowing developers to quickly test APIs, debug endpoints, and automate network interactions directly from the terminal. xurl also includes support for structured output formats, making it easier to inspect responses and integrate with scripts or pipelines. Its lightweight design ensures that it can be easily installed and used across different environments. Overall, xurl enhances the developer experience for API testing and interaction by combining simplicity with powerful functionality.
    Downloads: 6 This Week
    Last Update:
    See Project
  • 12
    Capslock

    Capslock

    Tool to remap Caps Lock key behavior on Windows systems

    Capslock is a command-line tool for analyzing the capabilities of Go packages to reveal what privileged operations their code and dependencies can perform. Rather than detecting vulnerabilities, Capslock focuses on identifying capabilities — permissions implied by calls to sensitive or privileged standard library functions, such as file system access, networking, or process control. By following transitive call graphs, it classifies which security-sensitive operations each package can reach, giving developers visibility into what their dependencies are capable of doing. This helps apply the Principle of Least Privilege to Go software, guiding audits, supply chain reviews, and trust assessments. Capslock aims to make security posture analysis more proactive by surfacing capability-based risk signals before malicious or overly powerful code is introduced into production.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 13
    Dbmate

    Dbmate

    A lightweight, framework-agnostic database migration tool

    Dbmate is a database migration tool, to keep your database schema in sync across multiple developers and your production servers. It is a standalone command line tool, which can be used with Go, Node.js, Python, Ruby, PHP, or any other language or framework you are using to write database-backed applications. This is especially helpful if you are writing many services in different languages, and want to maintain some sanity with consistent development tools. Supports MySQL, PostgreSQL, SQLite, and ClickHouse. Uses plain SQL for writing schema migrations. Migrations are timestamp-versioned, to avoid version number conflicts with multiple developers. Migrations are run atomically inside a transaction. Supports creating and dropping databases (handy in development/test). Supports saving a schema.sql file to easily diff schema changes in git. Database connection URL is defined using an environment variable (DATABASE_URL by default), or specified on the command line.
    Downloads: 5 This Week
    Last Update:
    See Project
  • 14
    Gum

    Gum

    A tool for glamorous shell scripts

    A tool for glamorous shell scripts. Leverage the power of Bubbles and Lip Gloss in your scripts and aliases without writing any Go code! Gum provides highly configurable, ready-to-use utilities to help you write useful shell scripts and dotfiles aliases with just a few lines of code. Let's build a simple script to help you write Conventional Commits for your dotfiles. Use a package manager. gum is designed to be embedded in scripts and supports all sorts of use cases. Components are configurable and customizable to fit your theme and use case. You can customize with --flags. See gum <command> --help for a full view of each command's customization and configuration options. You can also use ENVIRONMENT_VARIABLES to customize gum by default, this is useful to keep a consistent theme for all your gum commands.
    Downloads: 4 This Week
    Last Update:
    See Project
  • 15
    Pluto

    Pluto

    A cli tool to help discover deprecated apiVersions in Kubernetes

    Kubernetes sometimes deprecates API versions. Most notably, a large number of deprecations happened in the 1.16 release. This is fine, and it's a fairly easy thing to deal with. However, it can be difficult to find all the places where you might have used a version that will be deprecated in your next upgrade. You might think, "I'll just ask the api-server to tell me!", but this is fraught with danger. If you ask the API-server to give you deployments.v1.apps, and the deployment was deployed as deployments.v1beta1.extensions, the API-server will quite happily convert the API version and return a manifest with apps/v1. This is fairly well outlined in the discussion of this issue.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 16
    eksctl

    eksctl

    The official CLI for Amazon EKS

    eksctl is a simple CLI tool for creating clusters on EKS - Amazon's newly managed Kubernetes service for EC2. It is written in Go, and uses CloudFormation. eksctl is available to install from official releases as described below. We recommend that you install eksctl from only the official GitHub releases. You may opt to use a third-party installer, but please be advised that AWS does not maintain nor support these methods of installation. Use them at your own discretion. You will need to have AWS API credentials configured. What works for AWS CLI or any other tools (kops, Terraform, etc.) should be sufficient. You can use ~/.aws/credentials file or environment variables.
    Downloads: 3 This Week
    Last Update:
    See Project
  • 17
    Helmify

    Helmify

    Creates Helm chart from Kubernetes yaml

    CLI that creates Helm charts from Kubernetes manifests. Helmify reads a list of supported k8s objects from stdin and converts it to a helm chart. Designed to generate charts for k8s operators but not limited to. See examples of charts generated by Helmify.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 18
    LXD

    LXD

    Powerful system container and virtual machine manager

    LXD is a next-generation system container and virtual machine manager. It offers a unified user experience around full Linux systems running inside containers or virtual machines. LXD is image based and provides images for a wide number of Linux distributions. It provides flexibility and scalability for various use cases, with support for different storage backends and network types and the option to install on hardware ranging from an individual laptop or cloud instance to a full server rack. When using LXD, you can manage your instances (containers and VMs) with a simple command line tool, directly through the REST API or by using third-party tools and integrations. LXD implements a single REST API for both local and remote access. The LXD project was founded and is currently led by Canonical Ltd with contributions from a range of other companies and individual contributors.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 19
    Monday

    Monday

    A dev tool for microservice developers to run local applications

    Your new microservice development environment friend. This CLI tool allows you to define a configuration to work with both local applications (Go, NodeJS, Rust or others) and forward some other applications over Kubernetes in case you don't want to run them locally.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 20
    kubefwd

    kubefwd

    Bulk port forwarding Kubernetes services for local development

    Kubernetes port forwarding for local development. kubefwd is a command line utility built to port forward multiple services within one or more namespaces on one or more Kubernetes clusters. kubefwd uses the same port exposed by the service and forwards it from a loopback IP address on your local workstation. kubefwd temporally adds domain entries to your /etc/hosts file with the service names it forwards. When working on our local workstation, my team and I often build applications that access services through their service names and ports within a Kubernetes namespace. kubefwd allows us to develop locally with services available as they would be in the cluster.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 21
    wacli

    wacli

    WhatsApp CLI

    wacli is a command-line interface for WhatsApp that focuses on syncing, searching, and sending messages through the WhatsApp Web protocol. It is designed as a third-party CLI built on top of whatsmeow, giving developers and power users a local-first way to work with WhatsApp data outside the standard app interface. The project supports interactive authentication through a QR-based login flow and then transitions into a non-interactive sync mode for ongoing message capture. It stores data locally, which enables fast offline search across previously synced conversations and makes it useful for automation, archiving, and analysis workflows. Beyond basic messaging, it also includes tools for backfilling older history on a best-effort basis, downloading media, and managing groups. The overall design emphasizes human-readable terminal output by default, with optional JSON output for scripting and machine-readable pipelines.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 22
    Chart Testing

    Chart Testing

    CLI tool for linting and testing Helm charts

    ct is the tool for testing Helm charts. It is meant to be used for linting and testing pull requests. It automatically detects charts changed against the target branch.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Hilbish

    Hilbish

    The Moon-powered shell! A comfy and extensible shell for Lua fans

    Hilbish is an extensible shell designed to be highly customizable. It is configured in Lua and provides a good range of features. It aims to be easy to use for anyone but powerful enough for those who need it. The motivation for choosing Lua was that it's simpler and better to use than an old shell script. It's fine for basic interactive shell uses, but that's the only place Hilbish has shell script; everything else is Lua and aims to be infinitely configurable. Hilbish is configured and scripted in the Lua programming language. This removes all the old, ugly things about Shell script and introduces everything good about Lua, including other languages (Fennel, Lua derivatives). Hilbish provides the user with proper menus for completions and history usage. Want to see your previous commands? Hit Ctrl-R. Hilbish offers a bunch of features to make your interactive shell experience rich. Things like syntax highlighting and hinting available via the Lua API.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    pv-migrate

    pv-migrate

    CLI tool to easily migrate Kubernetes persistent volumes

    pv-migrate is a CLI tool/kubectl plugin to easily migrate the contents of one Kubernetes PersistentVolumeClaim to another. On Kubernetes, if you need to rename a resource (like a Deployment) or to move it to a different namespace, you can simply create a copy of its manifest with the new namespace and/or name and apply it. However, it is not as simple with PersistentVolumeClaim resources: They are not only metadata, but they also store data in the underlying storage backend. In these cases, moving the data stored in the PVC can become a problem, making migrations more difficult.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    wait4x

    wait4x

    Wait4X allows you to wait for a port or a service to enter the request

    wait4x is a command-line utility for waiting on the availability of TCP, HTTP(s), and command-based targets. It is useful in scripts and containerized environments to ensure dependencies are ready before proceeding. wait4x is designed to be a drop-in replacement for other wait tools, but with more flexibility and protocol support.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next
MongoDB Logo MongoDB