The tabbed terminal UI is only available on Linux/macOS and WSL.
How it works
Each process is run in a separate tab that you can click on in the sidebar.
The multiplexer makes it so that you won’t have to start your frontend or your container applications separately.
Here’s what happens when you run sst dev:
- Deploy most of your resources as-is.
- Except for components that have a
devprop:Functioncomponents are run Live in the Functions tab.Taskcomponents have their stub versions deployed that proxy the task and run theirdev.commandin the Tasks tab.- Frontends like
Nextjs,Remix,Astro,StaticSite, etc. have their dev servers started in a separate tab and are not deployed. Servicecomponents are not deployed, and instead theirdev.commandis started in a separate tab.Postgres,Aurora, andRedislink to a local database if thedevprop is set.
- Start an
sst tunnelsession in a new tab if your app has aVpcwithbastionenabled. - Load any linked resources in the environment.
- Start a watcher for your
sst.config.tsand redeploy any changes.
The
Service component and the frontends like Nextjs or StaticSite are not deployed by sst dev.Modes
Multiplexer mode (default)
By default,sst dev runs in multiplexer mode with a tabbed terminal UI. This is the recommended mode for development.
Mono mode
Disable the tabbed terminal UI by runningsst dev in mono mode.
basic mode, this’ll spawn child processes. But instead of a tabbed UI it’ll show their outputs in a single stream.
This is used by default in Windows.
Basic mode
You can disable the multiplexer and not spawn any child processes by runningsst dev in basic mode.
sst dev used to work.
However in basic mode, you’ll need to start your frontend separately by running sst dev in a separate terminal session by passing in the command. For example:
Running commands
You can wrap commands withsst dev to run them with your linked resources loaded.
--:
Options
--mode
Defaults to using multi mode. Use mono to get a single stream of all child process logs or basic to not spawn any child processes.
--policy
Run policy pack validation against the preview changes.
Arguments
command
The command to run with linked resources loaded.
Examples
Start your entire app
Brings up your entire app - should be all you need:Run a command with resources
Start a command connected to a running sst dev session:Pass flags to the command
Use-- to pass flags to the command:
Related
sst deploy- Deploy your app to productionsst shell- Run scripts with linked resources