Settings is split in the sidebar: General, Services, Runtime, and License.
Saving
- Save — write config; recreates web if www/ports changed
- Save and restart — full stack restart
- Reset — discard unsaved form changes
General
www folder, preferred editor, preferred terminal, Share tunnel preference, language, theme, auto-start, notifications.
Config profiles — snapshots of ports, runtime, and PHP. Save a preset and switch without editing config.json by hand.
IDE / editor picker
Open projects in chooses Cursor, VS Code, PhpStorm, Zed, Sublime, or Auto (first installed in that order). Project card Editor and macstack tools open-editor use this. Terminal picker works the same way for Terminal.
Presets
Minimal, Laravel, WordPress, Full stack — then Save.
Runtime panel
Native vs Docker (see Runtime modes). Install / remove managed Native artifacts with progress; datadirs under Application Support are preserved on uninstall.
macstack runtime install --kind php --version 8.0
macstack runtime install --kind php --version 8.3
macstack runtime uninstall --kind redis --version 7.2.7 --json
Default PHP or a running active DB engine need confirmation / --force to uninstall.
Services — MySQL vs MariaDB
Engine and version pickers are on Settings → Services.
| Docker | Native | |
|---|---|---|
| MySQL | 8.0.46 / 8.4.11 / 9.7.2 (separate volume per series) | Managed 8.4.10 only — Docker 8.0 / 9.7 tags do not switch Native mysqld |
| MariaDB | 10.6.27 / 10.11.18 / 11.4.12 / 11.8.8 / 12.3.2 | Homebrew mariadb@10.6 / @10.11 / @11.4 / @11.8 / @12.3 or runtime install --kind mariadb |
Engine data stores are separate. After switching engine/version the DB looks empty — previous data remains under the other engine. In Docker, version switch uses a different volume.
Ports
Ports are on Settings → Services. Services bind 127.0.0.1. After changes: Save and restart. HTTPS is toggled on Tools.