Install
openclaw skills install vibetunnelManage VibeTunnel terminal sessions. Create, list, monitor, and control terminal sessions visible in the VibeTunnel web dashboard.
openclaw skills install vibetunnelManage VibeTunnel terminal sessions via REST API. Create, list, monitor, and control sessions visible in the web dashboard.
VibeTunnel must be running. Default: http://localhost:8080. Override with VT_URL env var.
curl -s ${VT_URL:-http://localhost:8080}/api/health | jq .
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])]"'
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:
command: array — command + args (default: ["zsh", "-l", "-i"])name: string — display nameworkingDir: string — working directorycols: number — terminal width (default: 120)rows: number — terminal height (default: 30)curl -s ${VT_URL:-http://localhost:8080}/api/sessions/<id> | jq .
curl -s -X DELETE ${VT_URL:-http://localhost:8080}/api/sessions/<id> | jq .
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.
curl -s -X POST ${VT_URL:-http://localhost:8080}/api/sessions/<id>/resize \
-H "Content-Type: application/json" \
-d '{"cols": 150, "rows": 40}' | jq .
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/{}
| Variable | Default | Description |
|---|---|---|
VT_URL | http://localhost:8080 | VibeTunnel server URL |
npm i -g vibetunnel