Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

CF Targets Plugin

Build Status

This plugin facilitates the use of multiple api targets with the Cloud Foundry CLI.

It originated from the need for a Go play project, and the realization that I was frequently switching back and forth between development and various test environments, using tricks like

CF_HOME=~/cf-development cf push my-app
CF_HOME=~/cf-production cf push my-app

This plugin makes switching a lot less painful by allowing you to save your currently configured target using a name, then switching back to it by name at any point.


Configure and save any number of named targets

$ cf api <development-target-url>
$ cf login
$ cf save-target development

Followed by

$ cf api <production-target-url>
$ cf login
$ cf save-target production

After saving targets, easily switch back and forth between them using:

$ cf set-target development
$ cf target
API Endpoint:   <development-target-url>
$ cf set-target production
$ cf target
API Endpoint:   <production-target-url>

View saved targets using

$ cf targets
production (current)


Install from CLI
$ cf add-plugin-repo CF-Community
$ cf install-plugin Targets -r CF-Community
Install from Source (need to have Go installed)
$ go get
$ go get
$ cd $GOPATH/src/
$ go build
$ cf install-plugin cf-targets-plugin

Full Command List

command usage description
targets cf targets list all saved targets
save-target cf save-target [-f] [<name>] save the current target for later use
set-target cf set-target [-f] <name> restore a previously saved target
delete-target cf delete-target <name> delete a previously saved target