# `mix app.tree`
[🔗](https://github.com/elixir-lang/elixir/blob/v1.20.2/lib/mix/lib/mix/tasks/app.tree.ex#L5)

Prints the application tree.

    $ mix app.tree --exclude logger --exclude elixir

If no application is given, it uses the current application defined
in the `mix.exs` file.

## Command line options

  * `--exclude` - exclude applications which you do not want to see printed.
    `kernel`, `stdlib` and `compiler` are always excluded from the tree.

  * `--format` - Can be set to one of either:

    * `pretty` - uses Unicode code points for formatting the tree.
      This is the default except on Windows.

    * `plain` - does not use Unicode code points for formatting the tree.
      This is the default on Windows.

    * `dot` - produces a DOT graph description of the application tree
      in `app_tree.dot` in the current directory. See the documentation
      for the `--output` option to learn how to control where the file
      is written and other related details.

  * `--output` *(since v1.20.0)* - can be used to override the location of
    the file created by the `dot` format. It can be set to

    * `-` - prints the output to standard output;

    * a path - writes the output graph to the given path

    If the output file already exists then it will be renamed in place
    to have a `.bak` suffix, possibly overwriting any existing `.bak` file.
    If this rename fails a fatal exception will be thrown.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
