Last updated March 13, 2023
heroku help displays a usage summary:
Usage: heroku COMMAND Help topics, 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 operate on your Heroku account as a whole, and are not specific to a particular app. For instance, to get a list of apps you created or are a collaborator on:
$ heroku apps === email@example.com Apps example example2 === Collaborated Apps collabapp firstname.lastname@example.org
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 have to specify which app to operate on
explicitly. For example, the
heroku apps:info command can either be called with
--app or be executed 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: email@example.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 heroku 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, the app name can be specified by setting the
HEROKU_APP environment variable.
Using an HTTP proxy
If you’re behind a firewall that requires use of a proxy to connect with external HTTP/HTTPS services, you can set the
HTTPS_PROXY environment variables in your local developer environment, before running the
If you get the error
ECONNREFUSED this is likely the reason.
For example, on a Unix system you could do something like this:
$ export HTTP_PROXY=http://proxy.server.com:portnumber or $ export HTTPS_PROXY=https://proxy.server.com:portnumber $ heroku login
On a Windows machine, either set it in the System Properties/Environment Variables, or do it from the terminal:
> set HTTP_PROXY=http://proxy.server.com:portnumber or > set HTTPS_PROXY=https://proxy.server.com:portnumber > heroku login
This 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 might get a
SELF_SIGNED_CERT_IN_CHAIN error . You’ll need to set
NODE_EXTRA_CA_CERTS to the file location of the proxy’s Certificate Authority (CA) certificate in pem format. Or if issued the self-signed certificate directly, set
SSL_CERT_DIR to a file/directory containing the MITM certificate.
$ export NODE_EXTRA_CA_CERTS=/path/to/ca_cert.pem $ heroku whoami