Skills vibetunnel
Manage VibeTunnel terminal sessions. Create, list, monitor, and control terminal sessions visible in the VibeTunnel web dashboard.
install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/basher83/vibetunnel" ~/.claude/skills/clawdbot-skills-vibetunnel && rm -rf "$T"
manifest:
skills/basher83/vibetunnel/SKILL.mdsource content
VibeTunnel
Manage VibeTunnel terminal sessions via REST API. Create, list, monitor, and control sessions visible in the web dashboard.
Setup
VibeTunnel must be running. Default:
http://localhost:8080. Override with VT_URL env var.
Health Check
curl -s ${VT_URL:-http://localhost:8080}/api/health | jq .
List Sessions
curl -s ${VT_URL:-http://localhost:8080}/api/sessions | jq .
Compact view:
curl -s ${VT_URL:-http://localhost:8080}/api/sessions | jq -r '.[] | "\(.status | if . == "running" then "●" else "○" end) \(.name) [\(.id | .[0:8])]"'
Create Session
curl -s -X POST ${VT_URL:-http://localhost:8080}/api/sessions \ -H "Content-Type: application/json" \ -d '{"command": ["zsh", "-l", "-i"], "name": "my-session", "workingDir": "/path/to/dir"}' | jq .
Parameters:
: array — command + args (default:command
)["zsh", "-l", "-i"]
: string — display namename
: string — working directoryworkingDir
: number — terminal width (default: 120)cols
: number — terminal height (default: 30)rows
Get Session
curl -s ${VT_URL:-http://localhost:8080}/api/sessions/<id> | jq .
Delete Session
curl -s -X DELETE ${VT_URL:-http://localhost:8080}/api/sessions/<id> | jq .
Send Input
curl -s -X POST ${VT_URL:-http://localhost:8080}/api/sessions/<id>/input \ -H "Content-Type: application/json" \ -d '{"text": "ls -la\n"}' | jq .
Note: include
\n to execute the command.
Resize Session
curl -s -X POST ${VT_URL:-http://localhost:8080}/api/sessions/<id>/resize \ -H "Content-Type: application/json" \ -d '{"cols": 150, "rows": 40}' | jq .
Examples
Launch Claude Code session:
curl -s -X POST ${VT_URL:-http://localhost:8080}/api/sessions \ -H "Content-Type: application/json" \ -d '{"command": ["claude"], "name": "claude-code", "workingDir": "~/repos/my-project"}' | jq .
Launch tmux session:
curl -s -X POST ${VT_URL:-http://localhost:8080}/api/sessions \ -H "Content-Type: application/json" \ -d '{"command": ["tmux", "new", "-A", "-s", "work"], "name": "tmux-work"}' | jq .
Clean up exited sessions:
curl -s ${VT_URL:-http://localhost:8080}/api/sessions | jq -r '.[] | select(.status == "exited") | .id' | \ xargs -I {} curl -s -X DELETE ${VT_URL:-http://localhost:8080}/api/sessions/{}
Environment Variables
| Variable | Default | Description |
|---|---|---|
| | VibeTunnel server URL |