kubernetes desktop gui for macOS, Linux and Windows

Your Kubernetes clusters, live.
Nothing installed in them.

Klustr is a free, open-source Kubernetes desktop client for macOS, Linux and Windows. It reads the kubeconfig you already have and drives the Kubernetes API the way kubectl does: live resources, RBAC review, Helm, Argo CD, Flux, Gateway API and cert-manager in one window.

$ brew tap sametkum/klustr
$ brew install klustr
Klustr Aggregated pods view in the Dracula theme. Two clusters and three namespaces in one table. The Context column tells prod from dev, and CrashLoopBackOff, ImagePullBackOff and Pending sit next to the healthy rows instead of in another window.
Two clusters and three namespaces in one table. The Context column tells prod from dev, and CrashLoopBackOff, ImagePullBackOff and Pending sit next to the healthy rows instead of in another window.
01 / 22Aggregated podsDracula

Two clusters and three namespaces in one table. The Context column tells prod from dev, and CrashLoopBackOff, ImagePullBackOff and Pending sit next to the healthy rows instead of in another window.Multi-context guide

Pure client. No agent, operator, CRD or sidecar in the cluster.
Live, never polled. client-go informers push every change as it lands.
Just your kubeconfig. Exec plugins and aws-vault work from the Dock.
Open source, Apache-2.0. No account, no activation, no paid tier.

twelve workflows

The jobs kubectl makes you stitch together.

One Kubernetes GUI for the day-to-day work and for the platform tooling around it. Each integration below appears when its CRDs are found in a cluster and comes with its own status views and actions.

Multi-cluster: two clusters, one table.

Check two or more contexts on the Connections screen and every list fans out across them with a Context column. Save the selection as a named group, tag production with a color, and the top bar paints a stripe so you always know which environment you are touching. Per-context read-only mode blocks every mutation when you only mean to look.

2+
contexts in one list
Groups
one-click reconnect
Read-only
per context
Multi-context guide
Klustr Aggregated pods view in the Dracula theme. Two clusters and three namespaces in one table. The Context column tells prod from dev, and CrashLoopBackOff, ImagePullBackOff and Pending sit next to the healthy rows instead of in another window.
Aggregated podsDracula

Counted from the source.

Counts from the repository and the latest release, not benchmark claims.

62
resource kinds with YAML edit, delete and scale
10
platform integrations with typed views
13
themes, six light and seven dark
0
components installed in the cluster
22 MB
macOS download, signed and notarized
Apache
2.0 license, no account, no tier

everything else

Built for the whole cluster, not a demo namespace.

Every built-in kind

Workloads, networking, storage, config, admission, autoscaling and the full RBAC set, each with list, detail, YAML edit, delete and scale where it applies.

Access Review

Pick a user, group or ServiceAccount and read its effective permissions as a resource-by-verb matrix, with the binding and role behind every cell. Wildcards and cluster-admin are flagged.

Custom resources

CRDs are discovered on connect and grouped by API group. A kind installed while you are connected appears without a restart.

Istio, Karpenter and KEDA

VirtualServices and DestinationRules, NodePools and NodeClaims, and KEDA triggers mapped back onto the HPAs they drive.

YAML, scale and rollout

Monaco editor with a server-side dry-run diff, inline scale, restart, pause and resume, in-place pod resize, and rollout history with one-click rollback.

Nodes

Usage and pressure per node, cordon and uncordon, PDB-aware drain with live progress, and a root shell without SSH.

Terminal drawer

A local shell per context with KUBECONFIG already set, so kubectl, helm and k9s hit the right cluster. Or launch your own terminal app with the context selected.

Cluster overviews

Capacity donuts, workload health bars and a recent-events feed, for a single cluster or an aggregated set.

compare

Klustr vs Lens, k9s and Headlamp.

Looking for a Lens alternative? Each of these is a good tool with a different shape. The table keeps to facts you can check in their documentation, and the page behind each name says where that tool is the better pick.

All 20 rows
CriterionKlustrLensk9sHeadlamp
License and priceApache-2.0, freeProprietaryFree Personal plan with eligibility limits, paid plans beyondApache-2.0, freeApache-2.0, free
Installed in the clusterNothingOptional one-click metrics-server, removable from KlustrNothing requiredOptional metrics stackNothingOptionalDesktop app runs locally; web mode is deployed in-cluster
Account or sign-inNoneYour kubeconfig is the only credentialLens ID requiredNeeded to activate the desktop appNoneNone on desktopToken or OIDC when deployed in-cluster
Several clusters at onceAggregated tableTwo or more contexts in one list, named groups, color tagsOne cluster per viewCatalog and hotbar to switchOne context at a timeSwitch with :ctxMulti-cluster viewSelect clusters and compare side by side
RBACAccess Review matrixSubject to effective permissions with the binding chainRoles and bindingsRBAC and policy viewsReverse lookup for a user, group or ServiceAccountRoles and bindings
HelmBuilt inInstall, upgrade, rollback, uninstall with a dry-run diff; repo searchBuilt inCharts and releases, upgrade and rollbackRelease viewValues, history and rollback; no install or upgradeVia pluginApp Catalog plugin, bundled with the desktop app
Argo CD and FluxBuilt in, through the APISync, refresh, reconcile, suspend; no CLIsBuilt in, paid plansNot in the free Personal planCommunity pluginsSync, refresh, reconcile, suspend; Flux needs the flux CLIVia pluginsOfficial Flux plugin and Argo CD plugin (alpha)
Gateway APITyped viewsListeners, rule matrix, RouteParentStatusBuilt inIncluding TCP, UDP and TLS routes and ListenerSetsGeneric CRDsBuilt inIncluding TCPRoute and UDPRoute
Scroll the table sideways for the remaining columns.

Facts checked against each tool’s documentation on 2026-10-16. Full pages: Klustr vs Lens, Klustr vs k9s and Klustr vs Headlamp.

Point it at a context.

One binary on your machine. Nothing in the cluster. Every context in your kubeconfig.

  • macOS on Apple Silicon, notarized
  • Linux amd64 as tarball, .deb and AUR
  • Windows amd64 as zip, not code-signed yet
Live view across two contexts, captured from real clusters