Project Actions
A project action is a shell command you save once and run with a click — your dev server, a build, a test run. Each project keeps its own list. Set them up at Settings → Projects → Project Actions.
Add an action
- Open Settings → Projects and find the Project Actions section.
- Add an action, give it a name, pick an icon, and enter the command to run.
- Save.
You can limit an action to certain operating systems if a command only makes sense on one.
Run an action
The Project section of the Work Status panel, the card to the right of the chat, has an action row. Press the action to run it and press it again to stop it. The chevron next to it picks another action, and its Add new action item opens Settings → Projects. The row shows the action you picked last, and while an action runs, the row shows that one. When a run has a preview address, a globe button next to the row opens it.
From the keyboard, press ⌘⌥R on macOS or Ctrl+Alt+R on Windows and Linux to open the project actions dialog. It lists the current project’s actions with their state. Arrow keys move the highlight, Enter runs an idle action or stops a running one, and Esc closes the dialog. A search field filters the list, and Configure actions at the end opens the project’s action settings. The dialog opens with the Work Status action highlighted, so the shortcut and then Enter repeats your last run. To change the shortcut, find Open project actions in Settings → Shortcuts.
In the command palette, opened with ⌘P or Ctrl+P, type “run” or an action’s name to find entries like Run: dev and Stop: dev. Project actions in the palette opens the dialog.
Each action runs in a terminal in the session’s folder, which is the worktree when the session is in one, or the main checkout for actions set to run there. The terminal opens so you can watch the output. Project actions are available on desktop and in the web app. VS Code, phones, and sessions under Chats have none.
Auto-open a dev server
Turn on auto-open URL for an action that starts a server. OpenChamber watches the output for a local address and offers to open it — see Preview & Dev Servers. On desktop you can also route it through an SSH port forward.
If the server has a fixed address, put it in the action’s URL field. {worktree} and {branch} fill in the checkout the action runs in, so one action works in every worktree. With portless, https://{worktree}.myapp.localhost opens https://auth.myapp.localhost in a worktree on feature/auth and https://myapp.localhost in the main checkout. You may not need the field at all: when portless prints its address, OpenChamber opens that one instead of the port behind it. On a desktop connected to a remote instance it opens the port instead, since only loopback ports travel through the tunnel to the remote machine.
Related
-
Repository config — keep actions and setup commands in the repository for the whole team
-
Preview & Dev Servers — open a running dev server inside OpenChamber