Right now Bzl is the application - you can start it from the command line and the console stays locked until Bzl finishes (or gets killed). Please consider mimicking Bazel approach when "bazel" command fires up background process (if it is not yet running) and delegates the work to that process. Then Bzl command would return to console right after the command is sent to the server. For example I visualize client commands such as
bzl cache start
bzl cache shutdown
bzl cache dump (for debugging)
bzl cache stats
etc.