Heroku Config

[Utility] Push and pull heroku environment variables to your local env
Alternatives To Heroku Config
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
4 years ago6mitC++
Repo for work for AI Survey
2 years ago56mitRuby
Your best weapon in the fight against outdated documentation.
3 years ago9mitRuby
Ensures presence and type of your app's ENV-variables (mirror)
9 years agomitCSS
A blogging platform built on Github gists
Heroku Config23512 months ago18June 11, 20221JavaScript
[Utility] Push and pull heroku environment variables to your local env
Wordpress 12factor204
6 years ago8PHP
WordPress, the Twelve-Factor way: fully managed using Composer and configured using environment variables.
9 years agomitRuby
Setting up Heroku apps made easy.
Api V2109
6 years agoapache-2.0Elixir
Flask Appconfig8016416 years ago17December 15, 20214mitPython
Configures Flask applications in a canonical way. Also auto-configures Heroku. Aims to standardize configuration.
2 years ago13mitJavaScript
You favorite book library
Alternatives To Heroku Config
Select To Compare

Alternative Project Comparisons


npm Travis David

Push and pull your Heroku configs to your local environment.

Heavily inspired by ddollar's version, but using the new Heroku cli.

⚠️ Disclaimer ⚠️

Running this code has the potential to delete your configurations if misused.

Specifically, the -o flag will overwrite values at the destination. Only use that if the source has more up to date info and you're feeling brave. Otherwise, this merges configs and is fairly safe. Just thought you should know.

Also, the -c flag will delete values that didn't exist locally when you pushed. Only use it if you know that.


You can install the package by running

% heroku plugins:install heroku-config

This package includes two commands:

  • heroku config:pull: Writes the contents of heroku config into a local file
  • heroku config:push: Writes the contents of a local file into heroku config

As of version 1.6.0, the heroku-config supports modifying pipeline config variables with the --pipelie-name and --pipeline-stage flags.

Run heroku help config:pull and heroku help config:push to see a full list of flags.

File Format

There's a lot of flexibility when it comes to how you can format your file. Key capitalization can go either way and there can be spacing around the = on one, both, or neither side. There can also be a leading export if you want to use the same file to populate your local environment. Since Heroku runs on linux, variable names must conform to those valid in unix. If you want to use unsupported characters in your var names, run commands with the -e flag. There's also support both unix and windows-style newlines (though only one type per file).

Multiline variables are fine as long as they're surrounded by "

All of the following are valid lines:

NODE_ENV= test
source =local
job = programming

DB_STRING=mongo://[email protected]:4567
export THING=3
multiline="this can have
as many lines
# comments are still ignored
as it wants"

The following are all invalid lines:

 # comment with leading space
key with-dash=andspace
multiline='bad because
it uses
single quotes'


You'll need Node version >= 6.0. If you want to match exactly, check out the heroku cli's node version here. I like nvm for managing multiple node versions.

After cloning, follow these instructions to run locally! I welcome pull requests with fixes or new features.

Popular Heroku Projects
Popular Environment Variables Projects
Popular Cloud Computing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Environment Variables
Heroku Cli Plugin