Web Shell
The Web Shell is a full terminal into your running application's container,
right inside the dashboard. Open it from any deployed project at
Project → Shell to inspect the filesystem, read environment, tail logs,run one-off scripts, or debug a misbehaving deploy — without SSH, kubectl,
or any local tooling.
Every command runs inside the exact container that is serving your app,
so what you see is the real runtime: the same filesystem, the same
environment variables, the same processes.
Opening a shell
- Deploy your project at least once. The shell attaches to a running
- Go to Project → Shell.
- Start typing. The prompt shows your current container and working
If a project has multiple containers (for example an app plus a sidecar),
you can target a specific one by setting the container field; leaving it
blank uses the primary application container.
Two modes
| Mode | What it's for | Availability |
| --- | --- | --- |
| One-shot commands | Quick, bounded commands — ls, cat, env, df -h, a migration script | All plans |
| Interactive streaming | Long-running or chatty commands — npm install, a build, tail -f, a REPL — with live output and an elapsed timer | Pro & Enterprise |
One-shot commands
Each command is executed, its combined stdout/stderr is returned, and the
exit code is shown. The shell is stateful for your working directory:
cd into a folder and the next command runs from there, so you can navigate
the filesystem naturally even though each command is technically independent.
Interactive streaming
On Pro and Enterprise, commands stream their output live as they run,
with an elapsed-time counter — ideal for installs, builds, or following a
log. Lower tiers run the same commands in one-shot mode and receive the full
output when the command finishes.
Quick commands
The shell ships with one-click shortcuts for the commands you reach for most
when debugging a container:
ls -la— list files in the current directorypwd— print the working directoryenv— show the runtime environmentcat package.json— inspect the project manifestdf -h— disk usagefree -m— memory usageps aux— running processes
History & transcript
- Command history is remembered per project (up to the last 100
previous commands.
- The transcript keeps your recent commands and their output on screen so
as a text file for sharing or attaching to a support ticket.
Permissions
The Web Shell can change your running app, so access is restricted:
- Owners and Developers can run commands.
- Viewers cannot — the shell is read-only-to-them by design.
All commands are attributed to your user in our audit logs. The engine's
privileged credentials never reach the browser — every command is proxied
through Launchverse's API, which authenticates you, enforces your role, and
applies the limits below before forwarding the command to the container.
Limits & safeguards
- Burst limit: up to 40 commands per minute, per project, to prevent
- Daily limit (per plan):
| Plan | Commands / day |
| --- | --- |
| Free | 200 |
| Student | 1,000 |
| Pro | Unlimited |
| Enterprise | Unlimited |
- Command length: up to 4,096 characters per command.
- Destructive-command warning: commands that look destructive — for
rm -rf, mkfs, dd if=, DROP DATABASE/DROP TABLE,
fork bombs, shutdown/reboot, or writing to a block device — surface a
confirmation prompt before they run. This is a guard rail, not a jail:
you can still run them deliberately, so treat the production container with
the same care you would a production server.
Tips
- Use the shell to confirm an environment variable actually reached the
env | grep MY_VAR) when a deploy behaves unexpectedly.
- Run database migrations or one-off maintenance scripts directly against
- Check disk and memory (
df -h,free -m) when a container is being
- Changes you make to the filesystem at runtime are not persisted across
anything important to a database or a mounted volume.