Skip to content
BridgeSessions

Install

One installer. Paste it. Then type bs --version. That is the whole first step.

01

Get the program

Linux and Mac

curl -fsSL https://raw.githubusercontent.com/MindDragonLabs/BridgeSessions/main/scripts/install.sh | bash

Windows

irm https://raw.githubusercontent.com/MindDragonLabs/BridgeSessions/main/scripts/install.ps1 | iex

It drops the program at ~/.local/bin/bridgesessions (~/.local/bin/bs is the short name) on Linux and Mac, or %LOCALAPPDATA%\bridgesessions\bridgesessions.exe on Windows. If bs is not found, add that folder to your PATH and open a new terminal.

Prefer a file you can see first? The GitHub release has the three builds: Linux x86_64, Mac Apple silicon, Windows x86_64.

02

Make sure it is the real file

Download SHA256SUMS next to the binary. Then:

sha256sum -c SHA256SUMS --ignore-missing

Mac

shasum -a 256 -c SHA256SUMS

Windows

Get-FileHash .\bridgesessions-windows-x86_64.exe -Algorithm SHA256

03

See that it runs

bs --version
bs doctor

Doctor tells you if the install looks healthy. If something is off, it usually says what to fix.

04

Join another machine

On the machine you want to reach, start the program and leave it running. Then pair from your laptop. The first time, you pin that machine on purpose so you know who you are talking to.

bridgesessions --daemon
bs join
bs peers list

After that, use the name you see in the list. Do not guess if two names look close.

05

Run something over there

Stack the work in one command. Opening a folder in one call and running the job in the next does not keep that folder.

bs shell <peer> --cmd "uname -a"
bs shell <peer> --cmd "bash -lc 'cd /app && npm install && npm test'"

Longer than a couple of lines? Send a script instead.

bs run-script <peer> deploy.sh

06

Move a file

Same program. Send something over, or pull a log or a screenshot back. Wait for it to finish.

bs file send <peer> ./local.bin /remote/path/local.bin --wait
bs file recv <peer> /remote/path/app.log ./app.log --wait

07

See the screen. Click if you have to.

On a Mac or Windows desktop, look first. Then click. On those machines the helper has to be running in the logged-in user session.

bs cua screen <peer>
bs cua capture <peer>
bs cua click <peer> --x 100 --y 200

More on that in the desktop notes.

08

Let an agent use it

Claude, Codex, and OpenCode can use the same moves. The skill is in the repo.

curl -fsSL https://raw.githubusercontent.com/MindDragonLabs/BridgeSessions/main/scripts/install-agent-skill.sh | bash

Read the skill or the installer if you want to see what it puts on disk.

09

Take it off a machine

There is no uninstall script. Stop what is running, then delete the files. State lives in ~/.bridgesessions/.

Mac

Kick the launch agents out first. Then delete the files.

launchctl bootout gui/$(id -u)/com.bridgesessions.mesh
launchctl bootout gui/$(id -u)/com.bridgesessions.cua-helper
launchctl bootout gui/$(id -u)/com.minddragon.bridgesessions.menubar
rm -f ~/Library/LaunchAgents/com.bridgesessions.mesh.plist \
  ~/Library/LaunchAgents/com.bridgesessions.cua-helper.plist \
  ~/Library/LaunchAgents/com.minddragon.bridgesessions.menubar.plist
rm -f ~/.local/bin/bridgesessions ~/.local/bin/bs \
  ~/Library/Application\ Support/BridgeSessions/bridge-menubar.app
rm -rf ~/.bridgesessions/

Linux

systemctl --user stop bridgesessions.service
systemctl --user disable bridgesessions.service 2>/dev/null || true
rm -f ~/.config/systemd/user/bridgesessions.service \
  ~/.config/autostart/bridgesessions.desktop \
  ~/.local/bin/bridgesessions ~/.local/bin/bs
rm -rf ~/.bridgesessions/

Windows

Stop the tray and the helper before you delete anything.

schtasks /End /TN "BridgeSessions"
Get-CimInstance Win32_Process |
  Where-Object { $_.CommandLine -like '*bs_tray.ps1*' } |
  ForEach-Object { Stop-Process -Id $_.ProcessId -Force }
schtasks /End /TN "BridgeSessions-CuaHelper"
Get-CimInstance Win32_Process |
  Where-Object { $_.CommandLine -like '*--cua-helper*' } |
  ForEach-Object { Stop-Process -Id $_.ProcessId -Force }
schtasks /Delete /TN "BridgeSessions" /F
schtasks /Delete /TN "BridgeSessions-CuaHelper" /F
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\bridgesessions"
Remove-Item -Recurse -Force "$env:USERPROFILE\.bridgesessions"

If a leftover process will not die, say so on GitHub issues. Do not invent a cleaner script and call it ours.