Run Flask CLI command with PyCharm debugger

I have created a custom CLI command in Flask, that I am able to run via flask my_command in the terminal. I want to run this command using PyCharm's debugger.

I created a "Flask server" configuration, and running it with the PyCharm debugger stops at breakpoints I set inside view functions. But if I try to run my CLI command from PyCharm's terminal, it doesn't stop at breakpoints in the command.

Do I need a custom configuration to debug custom CLI commands? I found a question about Django commands, but PyCharm's "Flask server" configuration doesn't have the same options. How can I configure PyCharm to debug a Flask CLI command?


PyCharm's "Flask server" configuration only calls the flask run command, it doesn't provide a way to call other commands. To do that, create a regular "Python" configuration that runs the flask command with the arguments you want.

  • Create a "Python" configuration and give it a name.
  • Select "Module name" instead of "Script path" and type flask.
  • Fill out "Parameters" with the arguments to pass. For example my_command --option A.
  • Edit the environment variables to include FLASK_APP=my_app and FLASK_ENV=development, the same way you'd use them from the terminal.
    • You may also need to configure "Working directory" to point at your project directory, if your command depends on where it's being run from.

Running this configuration with the debugger will stop at breakpoints in your CLI command instead of running the server.