How to remove (base) from terminal prompt after updating conda
That's because conda's base environment is activated on startup.
To set the auto_activate_base parameter to false, type:
conda config --set auto_activate_base false
Edited 2021/09/09:
If you are facing the exact same situation as the OP, that you are using conda to manage environments, and wanted to make (base) environment looks no different to system environment in terminal, check @merv 's answer for the procedures. Note that the prompt string is stored in a certain special variable, depending on the shell you are using, so check the documentation of your shell if it does not work for you.
If you want to use the system environment and not using conda at all, my original answer was the solution for you.
Thanks to @merv and @Neinstein for pointing out in the comments.
Use the base
env's activation hook
For each env, any scripts in the etc/conda/activate.d
directory will be executed post-activation (likewise etc/conda/deactivate.d
scripts for deactivation). If you add a script to remove the (base)
, similar to @ewindes suggestion, you'll get the behavior you desire.
I had to create this directory for base, which is just the root of your Anaconda/Miniconda folder. E.g.,
mkdir -p miniconda3/etc/conda/activate.d
Then made a simple file in there (e.g., remove_base_ps1.sh
) with one line:
PS1="$(echo "$PS1" | sed 's/(base) //') "
If you are using zsh, use this instead.
PROMPT=$(echo $PROMPT | sed 's/(base) //')
Launching a new shell then does not show (base)
, and deactivating out of nested envs also takes care of the PS1 change.
Note: You must add quotes around $PS1 if you want to preserve ending spaces.
By default, auto_activate_base
is set to True
when installing anaconda.
To check this, run:
$ conda config --show | grep auto_activate_base
auto_activate_base: True
To set it False
conda config --set auto_activate_base False
and vice-versa.
Note, if changeps1
is kept False
, it will hide (env)
completely, and in case you want to show (env)
only when it's activated, you can set changeps1
to True
:
conda config --set changeps1 True
Setting
changeps1
toFalse
will hide(env)
even if theenv
is activated and will keep hiding(base)
even afterauto_activate_base
is set toTrue
.