home / skills / openclaw / skills / starlink
This skill helps you control your Starlink dish locally, fetch status, GPS, connected devices, speed tests, and perform stow and unstow actions.
npx playbooks add skill openclaw/skills --skill starlinkReview the files below or copy the command above to add this skill to your agents.
---
name: starlink
version: 1.0.0
description: Control Starlink dish via local gRPC API. Get status, list WiFi clients, run speed tests, stow/unstow dish, reboot, and get GPS location. Use when the user asks about Starlink, internet status, connected devices, or satellite connectivity.
homepage: https://github.com/danfedick/starlink-cli
metadata: {"clawdbot":{"emoji":"📡","requires":{"bins":["starlink"]},"install":[{"id":"cargo","kind":"cargo","git":"https://github.com/danfedick/starlink-cli","bins":["starlink"],"label":"Install starlink-cli (cargo)"}]}}
---
# Starlink CLI
Control your Starlink dish from the command line via its local gRPC API at `192.168.100.1:9200`.
## Installation
```bash
cargo install --git https://github.com/danfedick/starlink-cli
```
Requires Rust and `protoc` (Protocol Buffers compiler).
## Commands
### Status
Get dish state, uptime, SNR, latency, throughput, obstructions:
```bash
starlink status
starlink status --json
```
### WiFi Clients
List devices connected to the Starlink router:
```bash
starlink clients
starlink clients --json
```
Output includes: name, MAC, IP, signal strength, interface (2.4GHz/5GHz/ETH), connection time.
### Speed Test
Run a speed test through the dish:
```bash
starlink speedtest
starlink speedtest --json
```
Returns download/upload Mbps and latency.
### Stow/Unstow
Stow dish flat for transport or storage:
```bash
starlink stow # stow
starlink stow --unstow # unstow and resume
```
### Reboot
Reboot the dish:
```bash
starlink reboot
```
### Location
Get GPS coordinates (must be enabled in Starlink app → Settings → Advanced → Debug Data → "allow access on local network"):
```bash
starlink location
starlink location --json
```
## Output Formats
- **Default**: Human-readable colored output
- **--json**: JSON for scripting/parsing
Example JSON parsing:
```bash
starlink status --json | jq '.latency_ms'
starlink clients --json | jq '.[] | .name'
```
## Requirements
- Connected to Starlink network
- Dish reachable at `192.168.100.1:9200`
- For location: enable in Starlink app first
## Troubleshooting
**"Failed to connect to Starlink dish"**
- Verify you're on the Starlink WiFi or wired to the router
- Check: `ping 192.168.100.1`
- If using bypass mode with your own router, ensure 192.168.100.1 is still routable
**Location returns empty**
- Enable in Starlink app: Settings → Advanced → Debug Data → "allow access on local network"
## Limitations
- Device pause/unpause is NOT available (cloud-only feature via Starlink app)
- Only works on local network, not remotely
## Source
https://github.com/danfedick/starlink-cli
This skill controls a Starlink dish via its local gRPC API on the local network. It exposes commands to inspect dish status, list WiFi clients, run speed tests, stow/unstow the dish, reboot, and retrieve GPS location. Outputs are available in human-friendly text or machine-readable JSON for automation. Use it when you need local troubleshooting, monitoring, or simple remote operations without the cloud app.
The skill talks to the dish at 192.168.100.1:9200 using Starlink’s local gRPC interface. It queries status metrics (uptime, SNR, latency, throughput, obstructions), enumerates connected WiFi clients with details, triggers speed tests, and issues control commands like stow, unstow, and reboot. Location access requires enabling local network debug data in the Starlink app. Results can be returned as colored text for humans or JSON for scripts.
Can I control the dish remotely over the internet?
No. The skill only works on the local network; remote control requires network routing or cloud features from Starlink.
Why is location information empty?
Make sure location access is enabled in the Starlink app under Settings → Advanced → Debug Data → allow access on local network.