Formally known as codegangsta/cli

Programming language: Go
License: MIT License
Tags: Command Line     Standard CLI    
Latest version: v2.3.0

urfave/cli alternatives and similar packages

Based on the "Standard CLI" category.
Alternatively, view urfave/cli alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of urfave/cli or a related project?

Add another 'Standard CLI' Package



GoDoc codebeat Go Report Card codecov

cli is a simple, fast, and fun package for building command line apps in Go. The goal is to enable developers to write fast and distributable command line applications in an expressive way.

Usage Documentation

Usage documentation exists for each major version. Don't know what version you're on? You're probably using the version from the main branch, which is currently v2.

  • v2 - [./docs/v2/manual.md](./docs/v2/manual.md)
  • v1 - [./docs/v1/manual.md](./docs/v1/manual.md)

Guides for migrating to newer versions:

  • v1-to-v2 - [./docs/migrate-v1-to-v2.md](./docs/migrate-v1-to-v2.md)


Using this package requires a working Go environment. See the install instructions for Go.

Go Modules are required when using this package. See the go blog guide on using Go Modules.

Using v2 releases

$ go get github.com/urfave/cli/v2
import (
  "github.com/urfave/cli/v2" // imports as package "cli"

Using v1 releases

$ go get github.com/urfave/cli
import (

Build tags

You can use the following build tags:


When set, this removes ToMarkdown and ToMan methods, so your application won't be able to call those. This reduces the resulting binary size by about 300-400 KB (measured using Go 1.18.1 on Linux/amd64), due to less dependencies.


Make sure your PATH includes the $GOPATH/bin directory so your commands can be easily used:

export PATH=$PATH:$GOPATH/bin

Supported platforms

cli is tested against multiple versions of Go on Linux, and against the latest released version of Go on OS X and Windows. This project uses Github Actions for builds. To see our currently supported go versions and platforms, look at the ./.github/workflows/cli.yml.



*Note that all licence references and agreements mentioned in the urfave/cli README section above are relevant to that project's source code only.