The official command line client for Cloud Foundry
Clone or download
suprajanarasimhan and mkenyon Fix buildpack output regex for v6
Should have previously forked this BuildpacksOutputRegex helper in
commit 00c73dd


Signed-off-by: Mike Kenyon <>
Latest commit fbf9c30 Jan 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update Bug Report With New Minimum Version Jan 14, 2019
actor Fix sending boolean values Jan 22, 2019
api Fix sending boolean values Jan 22, 2019
bin update cleanup script to account for V7 buildpacks column order change Jan 7, 2019
cf Fix usage text for cf curl Jan 15, 2019
ci Remove deployment of service broker from pipeline Jan 17, 2019
command Fix sending boolean values Jan 22, 2019
doc copy adr docs from vat branch Oct 19, 2018
fixtures Update Gemfile.lock in example Ruby apps Nov 29, 2018
i18n/resources use the -p flag for internationalization test Nov 26, 2018
integration Fix buildpack output regex for v6 Jan 22, 2019
plugin Revert "Remove test rpc server example" Oct 1, 2018
strings remove app-ports code Aug 2, 2018
types Change v3 Process to use FilteredString Nov 16, 2018
util Implemented `-a` flag for the `cf login` command Jan 16, 2019
vendor Merge pull request #1528 from cf-container-networking/network-policie… Jan 8, 2019
version change "Context" to "When" Aug 15, 2018
.gitallowed Switch to gometalinter Jun 3, 2016
.gitattributes add architecture diagram Oct 2, 2018
.gitignore fix .gitignore file to only ignore those specific files Mar 30, 2018
.ignore Add vendor to a .ignore directory for ack/ag Nov 21, 2018
.travis.yml travis should just use the same make we run regularly May 9, 2018
BUILD_VERSION Bump version to 6.42.0 Jan 10, 2019
BUILD_VERSION_V7 bump to 7.0.0-beta.11 Jan 22, 2019
Gopkg.lock Merge pull request #1528 from cf-container-networking/network-policie… Jan 8, 2019
Gopkg.toml switch back to master of jessevdk/go-flags Dec 21, 2018
LICENSE revert to full license (incl. appendix) Jan 11, 2017
Makefile Fix buildpack output regex for v6 Jan 22, 2019
NOTICE updated as per Chip's instructions Oct 21, 2016 Update Minimum Version on README Jan 14, 2019
lintdebt Update lint debt Aug 31, 2016
main.go error on extra args for all V7 commands Jan 9, 2019
prevent_extra_args_v6.go error on extra args for all V7 commands Jan 9, 2019
prevent_extra_args_v7.go error on extra args for all V7 commands Jan 9, 2019

Getting Started | Download | Known Issues | Bugs/Feature Requests | Plugin Development | Contributing

CF logo

Cloud Foundry CLI

GitHub version Documentation Command help pages Slack License

Cloud Foundry CLI is the official command line client for Cloud Foundry. Latest help of each command is here (or run cf help); Further documentation is at the docs page for the CLI.

Important Note: CF CLI supports as far back as CF Release v284/CF Deployment v1.7.0 (CAPI Release: 1.46.0 (APIs 2.100.0 and 3.35.0). See our wiki for more information. If you are on an older version of CF Release, we recommend you upgrade to a supported version.

If you have any questions, ask away on the #cli channel in our Slack community and the cf-dev mailing list, or open a GitHub issue. You can follow our development progress on Pivotal Tracker.

Getting Started

Download and install the cf CLI from the Downloads Section.

Once installed, you can log in and push an app.


Check out our community contributed CLI plugins to further enhance your CLI experience.


Installing using a package manager

Mac OS X and Linux using Homebrew via the cloudfoundry tap:

brew install cloudfoundry/tap/cf-cli

Note: cf tab completion requires bash-completion to be installed properly in order to work.

Debian and Ubuntu based Linux distributions:

# ...first add the Cloud Foundry Foundation public key and package repository to your system
wget -q -O - | sudo apt-key add -
echo "deb stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list
# ...then, update your local package index, then finally install the cf CLI
sudo apt-get update
sudo apt-get install cf-cli

Enterprise Linux and Fedora systems (RHEL6/CentOS6 and up):

# ...first configure the Cloud Foundry Foundation package repository
sudo wget -O /etc/yum.repos.d/cloudfoundry-cli.repo
# ...then, install the cf CLI (which will also download and add the public key to your system)
sudo yum install cf-cli

Installers and compressed binaries

Mac OS X 64 bit Windows 64 bit Linux 64 bit
Installers pkg zip rpm / deb
Binaries tgz zip tgz

Release notes, and 32 bit releases can be found here.

Download examples with curl for Mac OS X and Linux binaries

# & extract Mac OS X binary
curl -L "" | tar -zx
# ...or Linux 64-bit binary
curl -L "" | tar -zx
# ...move it to /usr/local/bin or a location you know is in your $PATH
mv cf /usr/local/bin
# ...copy tab completion file on Ubuntu (takes affect after re-opening your shell)
sudo curl -o /usr/share/bash-completion/completions/cf
# ...and to confirm your cf CLI version
cf --version

Edge binaries

Edge binaries are not intended for wider use; they're for developers to test new features and fixes as they are 'pushed' and passed through the CI. Follow these download links for Mac OS X 64 bit, Windows 64 bit and Linux 64 bit.

Known Issues

  • In Cygwin and Git Bash on Windows, interactive password prompts (in cf login) do not work (issue #171). Please use alternative commands (cf api and cf auth to cf login) to work around this.
  • On Windows, cf ssh may not display correctly if the TERM is not set. We've found that setting TERM to msys fixes some of these issues.
  • On Windows, cf ssh will hang when run from the MINGW32 or MINGW64 shell. A workaround is to use PowerShell instead.
  • CF CLI/GoLang do not use OpenSSL. Custom/Self Signed Certificates need to be installed in specific locations in order to login/auth without --skip-ssl-validation.
  • API tracing to terminal (using CF_TRACE=true, -v option or cf config --trace) doesn't work well with some CLI plugin commands. Trace to file works fine. On Linux, CF_TRACE=/dev/stdout works too. See this Diego-Enabler plugin issue for more information.
  • .cfignore used in cf push must be in UTF-8 encoding for CLI to interpret correctly.
  • On Linux, when encountering message "bash: .cf: No such file or directory", ensure that you're using the correct binary or installer for your architecture.
  • Using non-refactored commands with verbose mode turned on will display the refresh token in the terminal.

Filing Issues & Feature Requests

First, update to the latest cli and try the command again.

If the error remains or feature still missing, check the open issues and if not already raised please file a new issue with the requested details.

Plugin Development

The CF CLI supports external code execution via the plugins API. For more information follow:

When importing the plugin code use import "". Older plugins that import will still work as long they vendor the plugins directory.

Contributing & Build Instructions

Please read the contributors' guide

If you'd like to submit updated translations, please see the i18n README for instructions on how to submit an update.