Skip to main content

Sharing Sessions

Session sharing lets you invite teammates to join your terminal sessions in real time. They can watch what you are doing, or — if you grant them permission — interact with the terminal alongside you.

This is useful for:

  • Pair programming: Two developers working in the same terminal
  • Live demos: Showing a colleague what a running process looks like
  • Support and debugging: A senior engineer watching over a junior's session to help
  • Asynchronous handoff: Share a session link so someone can pick up where you left off

Share Types

VibeControls supports two ways to share a session:

MethodDescription
Direct shareInvite a specific workspace member by name or email
Share linkGenerate a URL that can be given to anyone

Both methods let you control permissions — whether the recipient can only view, or can interact with the terminal.

Direct Share

Direct sharing invites a specific person in your workspace to join your session. They receive a notification and can click to open the session terminal.

Inviting a Workspace Member

  1. Open the session detail page
  2. Click Share (or the share icon in the terminal toolbar)
  3. Select Invite member
  4. Search for the member by name or email
  5. Choose a permission level:
  • View — can see the terminal output but cannot type
  • Interact — can type and use the terminal as if they were at the keyboard
  1. Click Invite

The invited member will see a notification in their VibeControls app. They can click Join session to open the terminal in their browser.

Managing Direct Shares

To see who currently has access to a session:

  1. Open the session detail page
  2. Click ShareManage access

From here you can:

  • Change a member's permission level
  • Remove their access (they will be disconnected if currently active)

Share links generate a URL that can be sent to anyone — even someone without a VibeControls account.

  1. Open the session detail page
  2. Click ShareCreate link
  3. Configure the link settings:
  • Permission — View or Interact
  • Expiry — how long the link remains valid (1 hour, 24 hours, 7 days, or no expiry)
  • Password (optional) — require a password before accessing the session
  • Max uses (optional) — automatically revoke the link after it has been used a set number of times
  1. Click Generate link
  2. Copy the URL

Share links look like: https://app.vibecontrols.com/vibecontrols/share/<token>

Expiry Settings

OptionDescription
1 hourLink expires 1 hour after creation
24 hoursLink expires the next day
7 daysLink valid for a week
No expiryLink is valid until manually revoked

For sensitive sessions, always set an expiry. For short demos or quick pair sessions, 1 or 24 hours is usually appropriate.

Password Protection

If you add a password, anyone using the link will be prompted to enter it before they can see the terminal. This is a simple layer of protection for links shared in public channels or emails.

Accessing a Shared Session

As a Workspace Member (Direct Share)

  1. Accept the notification in the VibeControls app
  2. The session opens in your browser
  3. Your permission level is indicated in the toolbar (view or interact)
  1. Open the URL in any modern browser
  2. If password-protected, enter the password
  3. If no VibeControls account is required, the terminal opens directly
  4. Your permission level is determined by the link settings

Shared session viewers can:

  • See the full terminal output in real time
  • Scroll through terminal history
  • Copy text from the terminal

With Interact permission, viewers can also:

  • Type commands
  • Use keyboard shortcuts (Ctrl+C, Ctrl+Z, etc.)
  • Navigate multiplexer panes (for tmux/Zellij sessions)

Requesting Control

When two people are in an interactive shared session, only one person should be actively typing at a time to avoid conflicts. VibeControls shows an indicator of who currently has focus.

If you are viewing with interact permission and want to start typing, click Request control in the toolbar. The session owner will see a prompt and can approve or decline.

Viewing Active Participants

In the session terminal view, a participants panel (people icon in the toolbar) shows:

  • Who is currently connected to this session
  • Their permission level
  • Whether they are actively viewing

Revoking Access

Revoking a Direct Share

  1. Session detail → ShareManage access
  2. Click Remove next to the member
  3. They are disconnected immediately
  1. Session detail → ShareManage links
  2. Find the link and click Revoke
  3. The URL stops working immediately for anyone who has not already opened it

To revoke access for someone currently using a link, revoke the link — they will be disconnected within seconds.

Privacy and Security Notes

  • Session content is transmitted over an encrypted connection — no terminal output is stored permanently as part of sharing.
  • If you share a session that contains sensitive output (credentials, tokens), be careful about who you share it with.
  • Set short expiry times on share links unless you have a specific reason for a longer duration.
  • Interact permission effectively grants shell access to the underlying machine, with the privileges of the user that owns the session. The recipient can run any command that user can run — including reading files, modifying state, opening network connections, or escalating where the session user has permission to do so. Treat granting Interact like handing someone an authenticated SSH session, especially when sharing via a public link with users who do not have VibeControls accounts. Only grant Interact to people you trust to run commands as that user.
  • You can always revoke all shares from the session's Share panel at any time.