CLI Usage
Last updated June 16, 2023
Running heroku help
displays a usage summary.
Usage: heroku COMMAND
Type heroku help TOPIC for more details.
access manage user access to apps
addons manage add-ons
apps manage apps
authorizations OAuth authorizations
buildpacks manage the buildpacks for an app
certs a topic for the ssl plugin
ci run an application test suite on Heroku
clients OAuth clients on the platform
config manage app config vars
domains manage the domains for an app
drains list all log drains
features manage optional features
git manage local git repository for app
keys manage ssh keys
labs experimental features
local run heroku app locally
logs display recent log output
maintenance manage maintenance mode for an app
members manage organization members
notifications display notifications
orgs manage organizations
pg manage postgresql databases
pipelines manage collections of apps in pipelines
plugins manage plugins
ps manage dynos (dynos, workers)
redis manage heroku redis instances
regions list available regions
releases manage app releases
run run a one-off process inside a Heroku dyno
sessions OAuth sessions
spaces manage heroku private spaces
status status of the Heroku platform
teams manage teams
The commands are divided into two types: general commands and app commands.
General Commands
General commands operate on your Heroku account as a whole and aren’t specific to a particular app. For example, to get a list of apps that you created or are a collaborator on, run this command.
$ heroku apps
=== user@example.org Apps
example
example2
=== Collaborated Apps
collabapp owner@example.org
App Commands
App commands are typically executed from within an app’s local Git clone. The app name is automatically detected by scanning the Git remotes for the current working copy, so you don’t specify which app to operate on explicitly. For example, call the heroku apps:info
command with --app
or execute it without any arguments inside the working copy.
$ cd example
$ heroku apps:info
=== example-app-69977
Auto Cert Mgmt: false
Dynos:
Git URL: https://git.heroku.com/example-app-69977.git
Owner: your@emailaddress.com
Region: us
Repo Size: 0 B
Slug Size: 0 B
Stack: heroku-18
Web URL: https://example-app-69977.herokuapp.com/
If you have multiple remotes or want to execute an app command outside of a local working copy, you can specify the remote name or an explicit app name as follows.
$ heroku apps:info --app example
$ heroku apps:info --remote production
Alternatively, specify the app name by setting the HEROKU_APP
environment variable.
Using an HTTP Proxy
If you’re behind a firewall that requires a proxy to connect with external HTTP/HTTPS services, you can set the HTTP_PROXY
or HTTPS_PROXY
environment variables in your local developer environment, before running the heroku
command.
If you get the error UNABLE_TO_GET_ISSUER_CERT_LOCALLY
or ECONNREFUSED
, it’s likely that you need a proxy.
For example, on a Unix system, run this command:
$ export HTTP_PROXY=http://proxy.server.com:portnumber
or
$ export HTTPS_PROXY=https://proxy.server.com:portnumber
$ heroku login
On a Windows machine, set it in the Environment Variables
within System Properties
or from the terminal.
> set HTTP_PROXY=http://proxy.server.com:portnumber
or
> set HTTPS_PROXY=https://proxy.server.com:portnumber
> heroku login
This command can go in your ~/.bashrc
(or equivalent) to prevent running this every time you open a new shell session.
If your company’s internet requires the use of a MITM proxy, you can get a SELF_SIGNED_CERT_IN_CHAIN
error. To the file location of the proxy’s Certificate Authority (CA) certificate in pem format, set NODE_EXTRA_CA_CERTS
. Or if issued the self-signed certificate directly, set SSL_CERT_FILE
or SSL_CERT_DIR
to a file/directory containing the MITM certificate.
$ export NODE_EXTRA_CA_CERTS=/path/to/ca_cert.pem
$ heroku whoami