weave is a CLI for running live operations against the systems IT actually runs — Meraki, Okta, and friends. It works with reality instead of fighting it.
# find a MAC anywhere across all your Meraki orgs $ weave meraki find client "00:11:22:33:44:55" Searching for MAC: 00:11:22:33:44:55 ┏━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━┓ ┃ Org ┃ Network ┃ Device ┃ Port ┃ VLAN ┃ IP ┃ Status ┃ ┡━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━┩ │ Acme Inc │ HQ │ SW-ABC123 │ 12 │ 30 │ 10.20.30.144 │ Online │ └───────────┴───────────┴───────────┴──────┴──────┴───────────────┴────────┘ # now pin that port to VLAN 30 live $ weave meraki set port SW-ABC123 12 --vlan 30 ✓ Port 12 on SW-ABC123 updated to VLAN 30
Terraform fights reality with state files. weave embraces reality — every command is a live read or a live change, with a tight loop and clean output.
Read or change real systems right now and see real results. Need versioned config? Snapshot it to YAML and commit — reality stays the source of truth.
Typer + Rich means rich output, sane flags, tab completion, and help that works the way you expect.
weave reads env vars from whatever you already use — 1Password,
Vault, Doppler, .env, or plain
export. No bundled secrets manager.
Pick the systems you actually run. weave doesn't care if your identity provider is Okta, Entra, or Google Workspace, or if you have one at all — every module is a peer. Depth varies by integration; each module page lists what is wired today.
Find clients across orgs by MAC, set port VLANs live, inspect network state without touching the dashboard.
Find users, suspend, reset MFA, reset password. Or use Entra, Google Workspace, etc. — all peers.
find user, list org members, find repo. Token in
GITHUB_TOKEN.
find user by email / id, list users + channels, find channel.
show oncall — who's paged right
now? Plus users, services, incidents.
List zones, find DNS records by FQDN or zone. Zero Trust + WAF in the queue.
Plus 76 more spanning Identity, MDM, Networking, Observability, Secrets, DevOps, and SaaS — Entra, Google Workspace, Intune, Jamf, Tailscale, Vault, Datadog, AWS IAM, CrowdStrike, and dozens more. See all modules →
The installer bootstraps
uv
if needed, then drops weave on
your PATH as an isolated tool. Python 3.11+ required.
curl -fsSL https://weavewhatever.com/install.sh | bash
Works on macOS (Intel + Apple Silicon) and any modern Linux. Inspect the script first if you'd rather: install.sh.
irm https://weavewhatever.com/install.ps1 | iex
PowerShell 5.1+. Inspect the script: install.ps1.
git clone https://github.com/andy-broyles/weavewhatever.git cd weavewhatever uv sync --dev && uv pip install -e .
For contributors, or if you want the source tree on your machine. See the full guide.
# onboard, then verify weave setup weave --help
weave setup picks your first module and how you inject API keys
(weave init is the same command).
See Getting started.