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.

  • One Monitoring Tool for IT, OT and Cloud | Free Trial Icon
    One Monitoring Tool for IT, OT and Cloud | Free Trial

    Vendor-agnostic monitoring across on-prem servers, cloud platforms and OT devices, all in one dashboard. No more tool sprawl.

    Modern infrastructure spans data centers, cloud platforms and factory floors, and every blind spot between them is a risk. PRTG supports SNMP, WMI, SSH and other standard protocols to monitor IT, OT and hybrid environments through one customizable dashboard. Build the views your team needs, from network health to application performance, without switching tools. Try PRTG free for 30 days now.
    Try PRTG Free
  • Ship Agents Faster Icon
    Ship Agents Faster

    Transform your applications and workflows into powerful agentic systems at global scale.

    Gemini Enterprise Agent Platform lets you rapidly build, scale, govern and optimize production-ready agents grounded in your organization's data. The platform enables developers to build custom or pre-built agents for virtually any use case. New customers get $300 in free credits.
    Start Free
  • 1
    Pop

    Pop

    Send emails from your terminal

    Pop is a terminal-based tool for sending emails from the command line. It lets users write messages in Markdown, attach files, and send mail through Resend or a custom SMTP setup. The project is useful for developers who want email sending to fit naturally into scripts, shell workflows, release processes, or automated notifications. Pop can be used as a direct CLI command, and it also supports a terminal interface for a more interactive experience. It reads message content from standard input, which makes it easy to combine with other command-line tools. Its main value is making email composition and delivery scriptable, flexible, and pleasant inside the terminal.
    Downloads: 350 This Week
    Last Update:
    See Project
  • 2
    Freeze

    Freeze

    Generate images of code and terminal output

    Freeze is a command-line tool for generating polished images from code and terminal output. It helps developers create clean visual assets for README files, documentation, tutorials, social posts, and product demos. Instead of taking manual screenshots, users can generate consistent images directly from source files or terminal content. The tool supports multiple output formats, making it useful across web pages, presentations, and repository assets. Freeze is especially helpful for CLI projects where terminal output needs to look clear, styled, and repeatable. Its main value is turning code snippets and command-line sessions into shareable visuals with a simple developer workflow.
    Downloads: 287 This Week
    Last Update:
    See Project
  • 3
    VHS

    VHS

    Your CLI home video recorder

    VHS is a command-line tool for recording terminal sessions as reproducible demos. It uses scriptable tape files that describe terminal actions, timing, dimensions, typing speed, and output settings. Developers can use it to create GIFs, videos, screenshots, or terminal recordings for documentation, README files, tutorials, and product demos. Instead of manually recording a screen, VHS makes terminal demonstrations repeatable and easier to update when a project changes. It is especially useful for CLI tools because it turns terminal behavior into a source-controlled artifact. Its main value is making polished command-line demos easier to create, maintain, and regenerate.
    Downloads: 182 This Week
    Last Update:
    See Project
  • 4
    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: 165 This Week
    Last Update:
    See Project
  • Save Up to 91% on Cloud Compute With Spot VMs Icon
    Save Up to 91% on Cloud Compute With Spot VMs

    Automatic sustained-use discounts. One free VM per month. No negotiation needed.

    Run batch jobs at 60-91% off with Spot VMs. Long-running workloads get automatic discounts with sustained use.
    Start Free
  • 5
    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: 114 This Week
    Last Update:
    See Project
  • 6
    ant CLI

    ant CLI

    ant CLI - Command line tool for Anthropic Claude API

    The ant CLI is a command-line tool that lets users interact directly with the Claude API from their terminal. It exposes every API resource as a structured subcommand, making it useful for both hands-on exploration and automated workflows. The ant CLI simplifies API requests by allowing users to build request bodies with typed flags, piped YAML or JSON, stdin input, and inline file references instead of manually writing complex JSON. It also includes built-in output formatting, response filtering, and GJSON-based transformation options so users can inspect and reuse API responses more efficiently. With support for interactive login, API keys, profiles, workspace switching, and authentication status checks, the ant CLI is built for flexible development environments. It is especially useful for developers and teams that want a reliable, scriptable way to manage Claude API resources, run messages, work with agents, debug requests, and integrate Claude workflows into the terminal.
    Downloads: 71 This Week
    Last Update:
    See Project
  • 7
    Claude Platform CLI

    Claude Platform CLI

    The CLI for the Claude API

    Claude Platform CLI is a command-line tool that lets users interact directly with the Anthropic Claude API from their terminal. It provides access to API resources through structured subcommands, making it useful for both interactive exploration and automated workflows. The CLI simplifies API requests by supporting typed flags, piped YAML or JSON input, and inline file references instead of manually writing complex JSON. Users can format, filter, and transform responses directly in the terminal using built-in output controls and GJSON queries. It also supports authentication through interactive login, API keys, profiles, and workspace switching for flexible development environments. Claude Platform CLI is especially valuable for developers, teams, and automation workflows that need efficient terminal-based access to Claude API resources.
    Downloads: 70 This Week
    Last Update:
    See Project
  • 8
    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: 45 This Week
    Last Update:
    See Project
  • 9
    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: 32 This Week
    Last Update:
    See Project
  • Build Data Resilience - Take the Assessment Today Icon
    Build Data Resilience - Take the Assessment Today

    Can you recover when it matters most? Take this quick assessment to identify gaps and build greater recovery confidence.

    Is your recovery strategy as strong as you think? Take this quick self-assessment to check your recovery readiness and gain tailored insights. In only 2 minutes, you'll learn where you fall on the recovery readiness scale.
    Take the Assessment
  • 10
    discrawl

    discrawl

    cli for Discord with sqlite backend

    discrawl is a command-line and database-driven tool for archiving, syncing, and searching Discord server content locally using a SQLite backend. The project allows users to mirror Discord conversations and metadata into a searchable offline database, making it useful for analytics, moderation, research, and long-term archival workflows. It supports synchronization through both Discord bot APIs and local desktop cache imports, giving users flexibility in how data is collected and updated. The system includes commands for searching messages, tailing live updates, and maintaining synchronized archives through incremental sync operations. Designed for developers and advanced users, discrawl emphasizes portability, local ownership of data, and efficient querying of large Discord histories. Its integration with the OpenClaw ecosystem positions it as a powerful utility for AI-assisted communication analysis and searchable knowledge retention.
    Downloads: 30 This Week
    Last Update:
    See Project
  • 11
    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: 25 This Week
    Last Update:
    See Project
  • 12

    swarmcli

    A terminal UI for Docker Swarm that makes cluster state easier to see,

    In the Kubernetes world, k9s is the gold standard for cluster management. We believe Docker Swarm users deserve the same level of quality, speed, and intuition. "Because Swarm is not dead, it's just efficient. And it deserves better tools." SwarmCLI translates the complexity of Docker Swarm into a sleek, keyboard-centric terminal UI. It’s built for developers who want to manage their clusters without leaving the terminal or waiting for heavy Web UIs to load.
    Downloads: 202 This Week
    Last Update:
    See Project
  • 13
    Fang

    Fang

    The CLI starter kit

    Fang is a small experimental starter kit for building Cobra-based command-line applications in Go. It gives developers a more complete foundation for CLI projects by adding polished behavior and presentation around Cobra commands. The project is useful when a developer wants the reliability of Cobra but also wants Charmbracelet-style styling and user experience improvements. Fang focuses on making command output, errors, help, and application structure feel more refined without requiring extensive custom code. It can help teams start new CLI tools faster while keeping a consistent interface style. Its main value is providing a batteries-included layer for modern, attractive, and maintainable Go command-line apps.
    Downloads: 15 This Week
    Last Update:
    See Project
  • 14
    lark-cli

    lark-cli

    A command-line tool for Lark/Feishu Open Platform

    lark-cli is a command-line tool designed to interact with the Lark (Feishu) ecosystem, enabling developers to manage and automate workflows within the platform directly from the terminal. It provides utilities for handling applications, bots, messaging, and other services offered by Lark, making it easier to integrate enterprise collaboration features into development pipelines. The tool is designed for efficiency, allowing users to perform operations quickly without relying on graphical interfaces. It supports authentication, configuration management, and API interactions, streamlining the process of building and deploying Lark-based applications. The CLI also facilitates automation by enabling scripting and integration with CI/CD workflows. It is particularly useful for teams that rely on Lark for communication and want to extend its functionality programmatically.
    Downloads: 14 This Week
    Last Update:
    See Project
  • 15
    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: 12 This Week
    Last Update:
    See Project
  • 16
    sq data wrangler

    sq data wrangler

    sq data wrangler

    sq is a command line tool that provides jq-style access to structured data sources: SQL databases, or document formats like CSV or Excel. sq executes jq-like queries, or database-native SQL. It can join across sources: join a CSV file to a Postgres table, or MySQL with Excel. sq outputs to a multitude of formats including JSON, Excel, CSV, HTML, Markdown and XML, and can insert query results directly to a SQL database. sq can also inspect sources to view metadata about the source structure (tables, columns, size). You can use sq diff to compare tables, or entire databases. sq has commands for common database operations to copy, truncate, and drop tables.
    Downloads: 12 This Week
    Last Update:
    See Project
  • 17
    Bank Vaults

    Bank Vaults

    K8s operator, Go client with automatic token renewal

    The Vault Swiss Army knife, which makes enterprise-grade security attainable on Kubernetes. It has many 'blades' that cut through the security problem: the Bank-Vaults operator provides automation; a Go client with automatic token renewal that provides dynamic secret generation, multiple unseal options, and more; a CLI tool to initialize, unseal and configure Vault with authentication methods and secret engines; and direct secret injection into Pods to reduce the attack surface. Automates the entire Vault lifecycle in your Kubernetes clusters. Provides seamless integration with non-Vault-aware applications without storing the decrypted secret anywhere. Vault is the de-facto standard for secret management in cloud-native environments. Bank-Vaults provides various tools for Hashicorp Vault to make its use easier. A wrapper for the official Vault client with automatic token renewal, built in Kubernetes support, and a dynamic database credential provider.
    Downloads: 10 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: 9 This Week
    Last Update:
    See Project
  • 19
    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: 9 This Week
    Last Update:
    See Project
  • 20
    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: 6 This Week
    Last Update:
    See Project
  • 21
    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
  • 22
    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: 3 This Week
    Last Update:
    See Project
  • 23
    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: 3 This Week
    Last Update:
    See Project
  • 24
    Ch

    Ch

    Lightweight powerful CLI tool for terminal-based AI interaction

    Ch is a lightweight Go-based CLI tool for interacting with AI models directly from the terminal. It is the actively developed successor to Cha and focuses on faster startup, lower overhead, and better performance. The project is built for developers who want rapid AI assistance without opening a browser or using a heavy desktop app. It emphasizes transparent operations and user control, making it suitable for terminal-first workflows. Ch aims to preserve Cha’s core functionality while improving speed, packaging, and everyday usability. It is especially useful for programmers, system users, and productivity-focused terminal users who want an efficient AI assistant in their command-line environment.
    Downloads: 2 This Week
    Last Update:
    See Project
  • 25
    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: 2 This Week
    Last Update:
    See Project
  • Previous
  • You're on page 1
  • 2
  • 3
  • Next