# Mix v1.10.3 mix run View Source

Starts the current application and runs code.

`mix run` can be used to start the current application dependencies, the application itself, and optionally run some code in its context. For long running systems, this is typically done with the `--no-halt` option:

    mix run --no-halt

Once the current application and its dependencies have been started, you can run a script in its context by passing a filename:

    mix run my_app_script.exs arg1 arg2 arg3

Code to be executed can also be passed inline with the `-e` option:

    mix run -e "DbUtils.delete_old_records()" -- arg1 arg2 arg3

In both cases, the command-line arguments for the script or expression are available in `System.argv/0`.

Before doing anything, Mix will compile the current application if needed, unless you pass `--no-compile`.

If for some reason the application needs to be configured before it is started, the `--no-start` option can be used and you are then responsible for starting all applications by using functions such as `Application.ensure_all_started/1`. For more information about the application life-cycle and dynamically configuring applications, see the `Application` module.

If you need to pass options to the Elixir executable at the same time you use `mix run`, it can be done as follows:

    elixir --sname hello -S mix run --no-halt

This task is automatically reenabled, so it can be called multiple times with different arguments.

## Command-line options

- `--eval`, `-e` - evaluates the given code
- `--require`, `-r` - executes the given pattern/file
- `--parallel`, `-p` - makes all requires parallel
- `--preload-modules` - preloads all modules defined in applications
- `--no-compile` - does not compile even if files require compilation
- `--no-deps-check` - does not check dependencies
- `--no-archives-check` - does not check archives
- `--no-halt` - does not halt the system after running the command
- `--no-mix-exs` - allows the command to run even if there is no mix.exs
- `--no-start` - does not start applications after compilation
- `--no-elixir-version-check` - does not check the Elixir version from mix.exs