Skip to main content

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:

TypeDescription
tmuxCreates a tmux session on the agent machine. Persistent across disconnections.
WezTermCreates a WezTerm multiplexer session.
ZellijCreates a Zellij terminal workspace.
SSHOpens an SSH connection to a target through the agent.
TerminalA plain terminal session using the agent's default shell.
ScriptRuns a predefined script on the agent and captures its output.
CustomRuns 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

  1. Navigate to Sessions in the sidebar
  2. Click New Session
  3. Choose a session type
  4. Select the agent to run it on
  5. Optionally associate it with a vibe
  6. Give it a name
  7. (For Script and Custom types) Provide the command or script to run
  8. Click Create

From an Agent's Detail Page

  1. Open the agent you want to use
  2. Click the Sessions tab
  3. Click New Session — the agent is pre-selected for you

From a Vibe's Detail Page

  1. Open the vibe
  2. 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:

  1. Open the session detail page
  2. Click Stop (or right-click the session in the list → Stop)
  3. 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:

  1. Select sessions using the checkboxes in the list
  2. 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:

  1. Open the session detail page
  2. Click ...Export
  3. Choose the format (JSON or plain text)
  4. 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.