.mux/init executable script to your project root to run commands when creating new workspaces.
Example
Behavior
- Runs once per workspace on creation
- Streams output to the workspace UI in real-time
- Non-blocking - workspace is immediately usable, even while hook runs
- Exit codes preserved - failures are logged but don’t prevent workspace usage
Environment Variables
Init hooks receive environment variables includingMUX_PROJECT_PATH, MUX_RUNTIME, MUX_WORKSPACE_NAME, and more.
Note for SSH workspaces: Since the project is synced to the remote machine, files exist in both locations. The init hook runs in the workspace directory ($PWD), so use relative paths to reference project files:
Use Cases
- Install dependencies (
npm install,bun install, etc.) - Run build steps
- Generate code or configs
- Set up databases or services
- Warm caches
Output
Init output appears in a banner at the top of the workspace. Click to expand/collapse the log. The banner shows:- Script path (
.mux/init) - Status (running, success, or exit code on failure)
- Full stdout/stderr output