Terminal
A command line inside your app, in the browser, as the app's own user. Run artisan, check a file, try a query. Closes after 15 minutes without typing.
Updated 17 Oct 20262 min read
Every app has a terminal: a command line inside the app's own sandbox, in your browser, on a laptop or a phone. It runs as the app's own user, in its web process or one of its workers, with the app's files and variables. Nothing to install, and no SSH key.
Open it
Open the app's page.
Choose Terminal.
Under Process, choose the web process or a worker.
The prompt shows who you are and which app, like asha@web for Asha's app web. When you see Connected, type.
Example: Asha checks her queue
Asha's order emails seem late. She opens the terminal of her app web and types:
php artisan queue:failed
php artisan queue:retry allThe first lists failed jobs; one shows her mail password expired. She updates MAIL_PASSWORD in Variables, redeploys, then retries the jobs from the terminal.
Other things people do:
php artisan tinker
python manage.py shell
ls storage/appWhen it closes
| When | What you see |
|---|---|
| 15 minutes without typing | Closed after 15 minutes without typing. |
| 4 hours, in any case | Closed after 4 hours. |
| You close the page, or choose Close | The terminal was closed. |
You type exit | The session ended. |
When it closes, everything you started in it stops too, even programs sent to the background or started with nohup. Choose Open again to start a new one. For long jobs, use a worker or a scheduled task instead.
Files you change here
Files you change here go away on the next deploy, except in the app's permanent folders. Change your code instead.
An app's code can't be changed while it runs; only its permanent folders (like Laravel's storage) and its home folder can be written, and they're kept between deploys. See Permanent folders. On a WordPress or PHP site, the files are the site itself, so changes stay.
What's recorded
Each terminal's start and end are in the project's activity: who opened it, on which app and process, how long it stayed open and why it closed. What you type is never recorded.
Safe by design
The app's own user: the terminal has the same rights as your app, and no more. It can't reach other projects or our machines.
No open door: nothing listens for SSH on the internet. The connection goes from your browser through your dashboard login.
If it doesn't open
| Message | What to do |
|---|---|
| The app isn't running. Start it to open a terminal. | Start the app, or wait for its deploy. |
| Too many terminals are open on this app. | Close one, then try again. |
| The app's server isn't reachable right now. | Try again in a moment. |