Skip to content
Docs

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

  1. Open the app's page.

  2. Choose Terminal.

  3. 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:

Terminal
php artisan queue:failed
php artisan queue:retry all

The 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:

Terminal
php artisan tinker
python manage.py shell
ls storage/app

When it closes

WhenWhat you see
15 minutes without typingClosed after 15 minutes without typing.
4 hours, in any caseClosed after 4 hours.
You close the page, or choose CloseThe terminal was closed.
You type exitThe 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

Changes to the code go away

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

MessageWhat 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.