# `mix app.start`
[🔗](https://github.com/elixir-lang/elixir/blob/7ff272706afc522e74121493b7166719985cb099/lib/mix/lib/mix/tasks/app.start.ex#L5)

Starts all registered apps.

First, this task guarantees that all dependencies are in place
and that the current project has been compiled. Then, the current
application is started as a temporary application, unless
`:start_permanent` is set to `true` in your project configuration
or the `--permanent` option is given. Setting it to permanent
guarantees the node will shut down if the application terminates
(typically because its root supervisor has terminated).

## Configuration

  * `:start_permanent` - the application and all of its children
    applications are started in permanent mode. Defaults to `false`.

  * `:start_concurrently` - applications are started concurrently
    whenever possible. Defaults to `false`.

## Command line options

  * `--force` - forces compilation regardless of compilation times
  * `--temporary` - starts the application as temporary
  * `--permanent` - starts the application as permanent
  * `--preload-modules` - preloads all modules defined in applications
  * `--no-archives-check` - does not check archives
  * `--no-compile` - does not compile even if files require compilation
  * `--no-deps-check` - does not check dependencies
  * `--no-elixir-version-check` - does not check Elixir version
  * `--no-start` - does not actually start applications, only compiles and loads code

---

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