As pointed out in #5532, -e file is loaded after the default .env and .flaskenv files, which means it won't override env vars that are set by the defaults. It will be a little tricky to track during CLI startup, but I think it should be possible to fix this so that precedence is: os.environ > -e path > .env > .flaskenv.