unifly CLI
CLI and TUI for UniFi controllers: devices, clients, VLANs, firewall and VPN from the terminal, plus a skill for coding agents
- 273 ★ on the repository
- Last commit
- Apache-2.0
Broad access
Why this level
- Commands create and change networks, firewall rules, VPN and device settings on a real controller
- A controller API key or password opens control of the whole network and can be stored as plain text in the config
- The install script runs through curl and itself puts the skill into ~`/.agents/skills`
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/uniflyDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Commands create and change networks, firewall rules, VPN and device settings on a real controller
- A controller API key or password opens control of the whole network and can be stored as plain text in the config
- The install script runs through curl and itself puts the skill into ~`/.agents/skills`
This is third-party code. Review the repository files before installing.
What it does
unifly is a Rust program for managing Ubiquiti UniFi controllers from the terminal. One binary gives you 29 top-level commands for scripting and a built-in TUI dashboard with traffic charts, CPU and memory gauges and live client counts. The commands cover devices, clients, networks and VLANs, WiFi, firewall rules, ACLs, NAT, DNS, VPN, switch ports and site settings. Output comes as a table, JSON, YAML or plain text. For agents it ships a guide skill. `unifly skill` prints the guide that matches the installed binary: inspection and change workflows, authentication boundaries, payload examples and a way to load the command reference. The guide works offline and needs no controller access. The skill is installed with `unifly skill --install`, and the `--claude` flag points it at the Claude Code skills directory. There is also a Claude Code plugin: a unifly-network-manager agent and two commands. `unifly-status` shows the network state, and `unifly-audit` runs a read-only review of WiFi security, firewall policy scope and order, firmware availability and network isolation. You can reach the controller with an API key, a username and password, hybrid mode or the cloud Site Manager.
Who it is for. For admins of home and office UniFi networks and developers who want to script the controller or hand routine work to an agent.
Good fit when
- You need a quick view of the network: devices, connected clients, VLANs and subnets in one command
- You want to review firewall rules and guest network isolation with an agent that only reads data
- A script has to create a network and get its ID in JSON for the next step, for example `unifly networks create --name lab --management switch --vlan 42 -o json`
- You need to look at the radio environment: neighboring APs, channels, a client's WiFi score, roaming
- You manage several controllers or cloud consoles and want to switch between them with profiles
Not a fit when
- You need UniFi Protect cameras and recordings: the skill explicitly excludes them
- The controller web interface is enough for you and you do not need scripts
- You cannot give the controller an API key or a username and password: without access the commands do not work
- You cannot trust an agent to change the network without your confirmation: the binary can create networks and change rules
Example request
Load the unifly guide, show which devices are offline now, then review the firewall rules read-onlyLimitations
You need access to a UniFi controller: an API key from Settings, Integrations, a username and password, or a Site Manager key. The live event feed `unifly events watch` works only with username and password login or in hybrid mode. By default keys and passwords live in the OS keyring, but they can also be stored as plain text in the config. The `unifly skill` guide exists only in newer binary releases, so an older version has to be updated. UniFi Protect devices are out of scope. If the key sees several cloud consoles, controller commands need a saved `host_id`.
How to disable. Remove the binary the way you installed it (brew, cargo or yay) and delete the skill folder in ~`/.agents/skills`. Delete the keys in the OS keyring and the profiles in the unifly config separately if you no longer need them.
FAQ
How do I install unifly for Claude Code?
Install the binary with brew, cargo or the install script, then run `unifly skill --install --claude`. `npx skills add hyperb1iss/unifly` installs the skill without the binary, but the agent still takes the guide from the binary.
How does API key login differ from username and password?
An API key from a UniFi OS controller covers almost all commands: creating and editing objects, stats, DHCP reservations, WiFi observability. The live event feed needs a session login, so it requires a username and password or hybrid mode.
What does the unifly-audit command do?
It is read-only: it looks at WiFi security settings, firewall rule scope and order, available firmware and network isolation. The report lists evidence, impact and a proposed fix, and intended guest access is told apart from accidental exposure.
Does unifly work with the cloud Site Manager?
Yes. The `unifly config cloud-setup` wizard validates the Site Manager key, lets you pick a console and a site and writes a ready cloud profile. You can switch to another site with `unifly cloud switch`.
Where is the agent guide if the binary is old?
Old releases have no `unifly skill` command. In that case the skill asks you to update the binary, and until then it relies on `unifly --help` without assuming the online guide matches that version.
Discussion
No questions or reviews yet.
Related
CLI toolsA set of MCP servers for UniFi: the agent works with Ubiquiti Network, Protect and Access controllers
KubeShark skill: the agent finds the failure mode first, then writes manifests, Helm and Kustomize to official practice with a rollback plan
An MCP server for MikroTik routers: the agent reads and changes RouterOS configuration over SSH on a chat request
A CLI for bulk port forwarding of Kubernetes services to your local machine, with an MCP integration for AI assistants
3X-UI on your VPS
3x-ui-vps
Skill that deploys the 3X-UI panel and Xray VLESS behind nginx on an Ubuntu server and maintains it through bundled scripts
31 DevOps skills for Claude Code and Codex: config generators, validators and a Kubernetes debugger for Terraform, Helm, CI and Docker
README in short
The README opens with a description of the CLI and TUI for humans and agents, then covers installation, the setup wizard, authentication modes, the command list and TUI screens. It also describes the multi-crate Rust architecture, the unifly-api crate usable as a library and a section on the agent skill.
README badge
Original SKILL.md
--- name: unifly description: >- Inspect and manage UniFi Network infrastructure with the unifly CLI: devices, clients, VLANs, WiFi, firewall, VPN, switch ports, site settings, and cloud fleets. Use for UniFi network configuration, monitoring, and troubleshooting, not UniFi Protect camera or recording management. --- # unifly Before using unifly, load the guide shipped with the installed binary: ```bash unifly skill ``` The guide provides authentication boundaries, inspection and change workflows, and commands for loading further topics and payload examples. Command discovery is generated from the installed CLI. Skill output works offline without requiring controller configuration or credentials. If the executable is missing, install unifly using the project's installation instructions: <https://github.com/hyperb1iss/unifly#-install>. If `skill` is an unknown command, the installed binary predates runtime guidance; update it to a release that supports `unifly skill`. Until then, use that binary's `--help` for syntax and avoid assuming the latest online guide matches its behavior.