---
title: IEx into Your Running App
layout: framework_docs
order: 1
redirect_from:
- /docs/elixir/getting-started/iex-into-running-app/
blog_path: /phoenix-files
objective: Get an IEx shell into your running production app on Fly!
---
Elixir supports getting a IEx shell into a running production node. How cool is that?
## SSH Into our App
To do this, we will [login with SSH](/docs/flyctl/ssh/) to our
application VM. There is a one-time setup task for using SSH. Follow the instructions.
```
fly ssh issue --agent
```
With SSH configured, let's open a console.
```cmd
fly ssh console --pty -C "/app/bin/hello_elixir remote"
```
```output
Connecting to hello_elixir.internal... complete
Erlang/OTP 23 [erts-11.2.1] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]
Interactive Elixir (1.11.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(hello_elixir@fdaa:0:1da8:a7b:ac4:b204:7e29:2)1>
```
You have a live IEx shell into your application!
<div class="callout">
**Tip:** One of several ways to [exit the IEx shell](https://hexdocs.pm/iex/IEx.html#module-exiting-the-shell) is to hit `Ctrl+C, Ctrl+C`; to log out of the VM console, use `Ctrl+D` or `exit`.
</div>
<div class="callout">
The `--pty` flag tells the SSH server to run the command in a pseudo-terminal. You will generally need this only when running interactive commands, like IEx.
</div>
## Creating a Shell Script for Convenience
In UNIX-based operating system like Linux and Mac OS, we can create a shell script to make connecting to the server with an IEx terminal easy. The same can be done with a Windows PowerShell script or batch file.
However we name the file will be our "command" for opening the IEx shell into the server. Here we'll use `fiex`, short for "Fly IEx".
```shell
#!/bin/bash
set -e
fly ssh console --pty --select -C "/app/bin/hello_elixir remote"
```
The `--pty` flag supports our interactive terminal and is needed to support the `--remsh` option used when we call `remote`.
The `--select` flag will prompt for which instance to connect to. This is handy when deployed to multiple regions and we want to be explicit about where we connect.
Remember to make the script executable: `chmod +x fiex`.
Using a terminal from the app directory, type `./fiex` to quickly jump into an IEx shell on the server.
## What's Next?
With another quick update we can prepare our application for clustering by naming our nodes differently.
Next up, [Clustering Your Application](/docs/elixir/the-basics/clustering/)!
IEx into Your Running App
Elixir supports getting a IEx shell into a running production node. How cool is that?
SSH Into our App
To do this, we will login with SSH to our
application VM. There is a one-time setup task for using SSH. Follow the instructions.
Connecting to hello_elixir.internal... complete
Erlang/OTP 23 [erts-11.2.1] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:1]
Interactive Elixir (1.11.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(hello_elixir@fdaa:0:1da8:a7b:ac4:b204:7e29:2)1>
You have a live IEx shell into your application!
Tip: One of several ways to exit the IEx shell is to hit Ctrl+C, Ctrl+C; to log out of the VM console, use Ctrl+D or exit.
The --pty flag tells the SSH server to run the command in a pseudo-terminal. You will generally need this only when running interactive commands, like IEx.
Creating a Shell Script for Convenience
In UNIX-based operating system like Linux and Mac OS, we can create a shell script to make connecting to the server with an IEx terminal easy. The same can be done with a Windows PowerShell script or batch file.
However we name the file will be our “command” for opening the IEx shell into the server. Here we’ll use fiex, short for “Fly IEx”.
The --pty flag supports our interactive terminal and is needed to support the --remsh option used when we call remote.
The --select flag will prompt for which instance to connect to. This is handy when deployed to multiple regions and we want to be explicit about where we connect.
Remember to make the script executable: chmod +x fiex.
Using a terminal from the app directory, type ./fiex to quickly jump into an IEx shell on the server.
What’s Next?
With another quick update we can prepare our application for clustering by naming our nodes differently.