Development Sessions
A session is a terminal or script execution managed by VibeControls. Sessions run on your connected agents, are tracked in the backend, and can be accessed from any browser — even by teammates you invite to collaborate.
Sessions are the core of your daily work in VibeControls. You open terminals, run long-lived processes, execute scripts, and organize everything under the vibes and agents they belong to.
Session Types
VibeControls supports a range of session providers. The type you choose depends on what is installed on your agent:
| Type | Description |
|---|---|
| tmux | Creates a tmux session on the agent machine. Persistent across disconnections. |
| WezTerm | Creates a WezTerm multiplexer session. |
| Zellij | Creates a Zellij terminal workspace. |
| SSH | Opens an SSH connection to a target through the agent. |
| Terminal | A plain terminal session using the agent's default shell. |
| Script | Runs a predefined script on the agent and captures its output. |
| Custom | Runs with a custom command you specify at creation time. |
The most commonly used type is tmux — it gives you persistent, reconnectable terminal sessions that survive network interruptions.
Creating a Session
From the Sessions List
- Navigate to Sessions in the sidebar
- Click New Session
- Choose a session type
- Select the agent to run it on
- Optionally associate it with a vibe
- Give it a name
- (For Script and Custom types) Provide the command or script to run
- Click Create
From an Agent's Detail Page
- Open the agent you want to use
- Click the Sessions tab
- Click New Session — the agent is pre-selected for you
From a Vibe's Detail Page
- Open the vibe
- Click Start Session — the agent and vibe context are pre-filled
The Sessions List
The Sessions page shows all sessions across your workspace. You can filter by:
- Status — Active, Stopped, Error
- Type — tmux, SSH, Script, etc.
- Agent — filter to a specific machine
- Vibe — filter to sessions belonging to a project
Each row shows the session name, type, agent, status, and when it was last active.
Opening a Session Terminal
Click any active session in the list to open its terminal view in the browser.
The terminal view is a full-featured, web-based terminal:
- Supports copy/paste
- Resizes with your browser window
- For tmux/Zellij/WezTerm sessions, you can navigate between panes and windows
- For SSH sessions, you are connected directly to the remote machine through the agent
The terminal is accessible from any device — desktop, laptop, tablet — without installing anything beyond a browser.
Starting, Stopping, and Restarting Sessions
Starting a Stopped Session
If a session exists but is in a stopped state, open the session detail page and click Start. VibeControls will ask the agent to resume the session. For tmux sessions, existing session state and history are preserved.
Stopping a Session
To stop a running session:
- Open the session detail page
- Click Stop (or right-click the session in the list → Stop)
- Confirm the action
Stopping a tmux/Zellij/WezTerm session keeps the process running on the agent (you can restart it later). Stopping a Script or Terminal session terminates the process.
Restarting a Session
Open the session detail page and click Restart. The agent will stop and restart the session process.
Bulk Operations
You can perform actions on multiple sessions at once from the Sessions list:
- Select sessions using the checkboxes in the list
- Use the Bulk actions toolbar that appears:
- Stop selected — stop all selected active sessions
- Restart selected — restart all selected sessions
- Delete selected — remove session records (does not affect running processes)
- Export selected — download session metadata as JSON
Bulk operations are useful when cleaning up stale sessions or restarting all sessions on an agent after a machine reboot.
Exporting Sessions
You can export a session's metadata and output log:
- Open the session detail page
- Click ... → Export
- Choose the format (JSON or plain text)
- The file downloads to your browser
For long-running script sessions, the captured output is included in the export.
Session Sharing
Sessions can be shared with teammates or via a public link.
- Direct share: Invite a specific workspace member to view or interact with your session.
- Share link: Generate a link with optional expiry and permission settings that can be given to anyone.
See Session Sharing for the full guide.
Session Metadata
Each session has a metadata panel showing:
- Name and description
- Agent it runs on
- Vibe it belongs to (if any)
- Session type and provider
- Created at and last activity timestamps
- Tags for organization
To edit metadata, click Edit on the session detail page.
Tips
- Use tmux sessions for any work you want to persist between browser visits — your session state is preserved even if you close the tab.
- Organize sessions by vibe: when you create a session from within a vibe's detail page, they are automatically linked, making it easy to find all sessions for a project.
- Use Script sessions for recurring tasks like deploys, tests, or data migrations. The output is captured and stored so you can review it later.
- If you use multiple multiplexers, the session type determines which one VibeControls uses — make sure the corresponding plugin is installed on your agent.