Skip to content

Repository files navigation

circleci-cli

This is CircleCI's command-line application.

Documentation | Code of Conduct | Contribution Guidelines |

CircleCI GitHub release GoDoc License

circleci is CircleCI's official command line tool. It is an agent-friendly CLI that brings CI runs, jobs, configuration, and other CircleCI features to the terminal right where you're already working.

output of freeze command, Haskell code block

The CLI is supported for users on circleci.com and CircleCI server; with support for macOS, Windows, and Linux.

Installation

Install the CLI via one of the following package managers:

Homebrew

brew install circleci

WinGet

winget install --id CircleCI.CLI

Snap

sudo snap install circleci
sudo snap connect circleci:password-manager-service

Debian

Debian packages are hosted at packages.circleci.com for various operating systems including:

To install packages, you can quickly setup the repository automatically:

curl -1sLf 'https://packages.circleci.com/public/setup.deb.sh' | sudo -E bash

or you can manually configure it yourself before installing packages:

apt-get install -y debian-keyring  # debian only
apt-get install -y debian-archive-keyring  # debian only
apt-get install -y apt-transport-https
# For Debian Stretch, Ubuntu 16.04 and later
keyring_location=/usr/share/keyrings/circleci-deps-public-archive-keyring.gpg
# For Debian Jessie, Ubuntu 15.10 and earlier
keyring_location=/etc/apt/trusted.gpg.d/circleci-deps-public.gpg
curl -1sLf 'https://packages.circleci.com/public/gpg.B3F71F41836351D6.key' |  gpg --dearmor >> ${keyring_location}
curl -1sLf 'https://packages.circleci.com/public/config.deb.txt?distro=ubuntu&codename=xenial&component=main' > /etc/apt/sources.list.d/circleci-deps-public.list
sudo chmod 644 ${keyring_location}
sudo chmod 644 /etc/apt/sources.list.d/circleci-deps-public.list
apt-get update

Note: Please replace ubuntu, xenial and main above with your actual operating system (distribution and distribution release/version) and components (based on what's in this repository).

Then install:

sudo apt install circleci

RedHat

RPM packages are hosted at packages.circleci.com for various operating systems including:

For most RPM based distributions (RHEL, CentOS, Fedora, SUSE), you can quickly setup the repository automatically:

curl -1sLf 'https://packages.circleci.com/public/setup.rpm.sh' | sudo -E bash

or manual Yum setup (RHEL, CentOS, Amazon Linux):

yum install yum-utils pygpgme

rpm --import 'https://packages.circleci.com/public/gpg.B3F71F41836351D6.key'
curl -1sLf 'https://packages.circleci.com/public/config.rpm.txt?distro=el&codename=7' > /tmp/circleci-deps-public.repo
yum-config-manager --add-repo '/tmp/circleci-deps-public.repo'
yum -q makecache -y --disablerepo='*' --enablerepo='circleci-deps-public'

Note: Please replace el and 7 above with your actual distribution/version and use Wildcards when enabling multiple repos.

or manual DNF setup (Fedora):

dnf install yum-utils pygpgme

rpm --import 'https://packages.circleci.com/public/gpg.B3F71F41836351D6.key'
curl -1sLf 'https://packages.circleci.com/public/config.rpm.txt?distro=fedora&codename=29&dnf_version=5' > /tmp/circleci-deps-public.repo
dnf config-manager addrepo --from-repofile='/tmp/circleci-deps-public.repo'
dnf -q makecache -y --disablerepo='*' --enablerepo='circleci-deps-public' --enablerepo='circleci-deps-public-source'

Note: Please replace fedora and 29 above with your actual distribution/version.

Then install:

dnf install circleci

or:

yum install circleci

Setup

Login

Run the following command to login to the CircleCI CLI:

circleci auth login

Model Context Protocol (MCP)

The CLI supports the MCP protocol. To enable it, run:

Claude:

circleci mcp claude enable # Enable in Claude desktop
claude mcp add-from-claude-desktop -s user # Add with current user scope

Cursor:

circleci mcp cursor enable

VS Code:

circleci mcp vscode enable

Development

Local

This repository makes use Task which can be installed (on MacOS) with:

$ brew install go-task/tap/go-task

Most other tools referenced in the Taskfile.yml are managed by the go.mod tool section.

See the full list of available tasks by running task -l, or, see the Taskfile.yml script.

# Run all static checks
task check
# Auto-fix static checks
task fix
# Run all the tests
task test

# Run the quick tests
task test -- -short ./...
# Run the quick tests for one package
task test -- -short ./internal/...

# Format all the code
task fmt
# Apply license headers
task license
# Tidy go.mod
task mod-tidy

Releases

Packages

Used by

Contributors

Languages