Troubleshooting

Doppler CLI troubleshooting tips.

Network Request Timeouts

If you are on a computer connected to a Google WiFi router, you may run into an edge case where any network request times out. This is a known issue and one we are actively working on solving. In the meantime, you can patch the issue by changing the DNS settings on your computer to use 1.1.1.1.

Here are how-to guides for Mac and Windows.

Known CLI Issues

Sometimes no error output for invalid commands

As an example, running asdfasdf on macOS or Windows produces error output indicating the command doesn't exist, but doppler run — asdfasdf doesn't produce any output (although it does still return the non-zero exit code).

If the error output is desired, use the form doppler run --command="your-command-here" instead.

Windows Non-Zero Exit Code When Using CTRL-C

Interrupting a process on Windows with Ctrl + C will likely result in a non-zero exit code.

Token not found in system keyring error

If you experience the error Token not found in system keyring, your local CLI token has gotten out of sync with your system keyring and will need to be unset before re-authenticating the CLI.

First, find the value under scoped: in the Doppler config file:

cat ~/.doppler/.doppler.yaml

Then unset the token using the scope value, e.g if the value under scoped: was /, then you would run:

doppler configure unset token --scope /

Now you can re-authenticate:

doppler login

If you're still experiencing issues, you can reset the CLI configuration entirely by running:

# Use as a last resort as this will completely reset your config
doppler configure reset

Shell Script Install Debug Mode

If the Shell Script install command is failing silently, you can enable debug output which may enable you to self-diagnose the issue (e.g. no outbound network connection) or provide to us in the event further troubleshooting is required:

# Shell Script debug install
(curl -Ls --tlsv1.2 --proto "=https" --retry 3 https://cli.doppler.com/install.sh || wget -t 3 -qO- https://cli.doppler.com/install.sh) | sh -s -- --debug

Installing the CLI without sudo access

You can work around not being able install the CLI due to lack of sudo permissions by downloading it to a user-writable location.

The simplest option is downloading it to the current directory and calling it directly:

(curl -Ls --tlsv1.2 --proto "=https" --retry 3 https://cli.doppler.com/install.sh || wget -t 3 -qO- https://cli.doppler.com/install.sh) | sh -s -- --no-package-manager --no-install

./doppler run -- your command

Or install it to a custom location and add that directory to the user's $PATH:

mkdir -p ~/bin
PATH=$PATH:~/bin

(curl -Ls --tlsv1.2 --proto "=https" --retry 3 https://cli.doppler.com/install.sh || wget -t 3 -qO- https://cli.doppler.com/install.sh) | sh -s -- --no-package-manager --install-path ~/bin 

./doppler run -- your command

# Optional: Update the $PATH in your user's profile, e.g. bash
echo -e '\n# Doppler CLI local install\nPATH=$PATH:~/bin\n' >> ~/.bashrc

Unable to upgrade CLI on Raspberry Pi's

If you're running the Doppler CLI on a Raspberry Pi and upgrades are failing with the following error message:

Unable to install the latest Doppler CLI
Doppler Error: exit status 1

Then the odds are that the Debian package manager is detecting an architecture mismatch (typically, it detects your Pi as using armhf rather than armv7l). Run the following commands on your Pi:

uname -m
dpkg --print-architecture

If the output from the dpkg command doesn't match the output from uname, then this is likely the problem. Adding the architecture dpkg printed may help resolve this issue for you:

sudo dpkg --add-architecture $(dpkg --print-architecture)

Pasting Commands from Docs has Parenthesis Escaped

If you're using the Zsh shell and have Oh My Zsh installed, you may run into a situation where commands copied from the docs site paste into your shell session with parenthesis escaped. To solve this, try uncommenting the DISABLE_MAGIC_FUNCTIONS=true line in your ~/.zshrc file. If it doesn't already exist, add it above where Oh My Zsh is being sourced. After doing this, open up a new shell session and see if the issue persists.

More information about this can be found here.