Commands

The Commands tab lets you run shell commands inside your project's active release directory — the same place your application runs. Useful for cache clears, database tinkering, Laravel artisan commands, and other ad-hoc maintenance work without dropping into SSH.

Open it from the project’s tab strip in the Console.

Running a command #

Type the command into the input at the top and press Enter. The command runs as the depfloy user, and the directory it runs in is printed in the top-right of the card — on a zero-downtime project that is the release currently serving, .../current.

php artisan cache:clear
php artisan migrate --force
npm run db:seed

While the command runs, its standard output and error stream in live below the input. The exit code shows up at the end so you can tell whether it succeeded.

The input is locked while a command is running — there is no queue, so wait for the current one to finish. Press ↑ and ↓ in the input to walk back through the commands you typed this session.

Recent commands #

Below the terminal is a Recent commands list, one row per distinct command showing its most recent run: whether it succeeded or failed, when it ran, and how long it took. Click a row to expand that run’s output underneath it.

Each row carries:

  • Re-run — run the same command again without retyping.
  • ⋮ → Save command — give the command a name and keep it. Saved commands are pinned to the top of the list with a star, and the name you gave shows next to the command. Remove from saved takes it back off.

Show all history #

Show all history opens the full, paginated run history — every individual run rather than one row per command, each with the member who ran it. Rows here have the same Re-run and save actions, plus ⋮ → Delete from history to remove a run’s record.

What you can and can’t run #

The Commands tab is for one-shot commands — things that start, do their work, and exit. Examples that work well:

  • php artisan migrate
  • npm run build (though you usually want this in your build pipeline, not here)
  • composer dump-autoload
  • tail -n 200 storage/logs/laravel.log

What doesn’t work well:

  • Long-running daemons — they’ll block the Commands tab indefinitely. Use Background Jobs for processes that should stay alive.
  • Interactive prompts — commands that wait for input (without -y / --force) are refused by this queue. Use Terminal Sessions when you need to read and answer a prompt.

Use Open in terminal on a command row to put it into a project terminal. It is not run automatically; review it and press Enter when you are ready.

Who can run commands #

Commands can change application state and access secrets, so they require the same permission as updating the project — Owner, Admin, Manager, or Developer. See Members.