# kubectx — Fast Kubernetes Context & Namespace Switching > Switch between Kubernetes clusters and namespaces instantly with kubectx and kubens, essential tools for multi-cluster workflows. ## Install Save as a script file and run: # kubectx — Fast Kubernetes Context & Namespace Switching ## Quick Use ```bash # Install via Homebrew brew install kubectx # Switch cluster context kubectx my-production-cluster # Switch namespace kubens kube-system # List all contexts kubectx # Switch to previous context kubectx - ``` ## Introduction kubectx and kubens are companion CLI tools that make switching between Kubernetes contexts and namespaces fast and effortless. If you manage multiple clusters daily, these tools eliminate the tedious `kubectl config use-context` commands and turn multi-cluster workflows into a single keystroke. ## What kubectx Does - Switches between kubectl contexts (clusters) with a single command - kubens companion switches the active namespace without verbose flags - Supports interactive fuzzy selection when paired with fzf - Provides alias and rename capabilities for long context names - Works with any standard kubeconfig file and all Kubernetes distributions ## Architecture Overview kubectx is written in Go and operates directly on your `~/.kube/config` file. It reads and modifies the `current-context` field and namespace preferences using the standard kubeconfig library. There is no daemon or background process — each invocation is a stateless read-modify-write on the kubeconfig. The optional fzf integration pipes context or namespace lists into fzf for interactive selection. ## Self-Hosting & Configuration - Install via Homebrew (`brew install kubectx`), apt, or download a single binary from GitHub releases - Works out of the box with any valid `KUBECONFIG` environment variable or `~/.kube/config` - Pair with fzf for interactive fuzzy selection: `brew install fzf` - Shell completions available for bash, zsh, and fish - Rename contexts with `kubectx new-name=old-name` for cleaner aliases ## Key Features - Zero configuration required — reads your existing kubeconfig - Sub-millisecond switching with no API calls to the cluster - `kubectx -` toggles back to the previous context like `cd -` - fzf integration for interactive multi-cluster navigation - Lightweight single binary with no runtime dependencies ## Comparison with Similar Tools - **kubectl config use-context** — built-in but verbose and lacks fuzzy search - **kubie** — similar context switching with per-shell isolation but heavier - **k9s** — full terminal UI for Kubernetes, overkill for just switching contexts - **kubeswitch** — supports multiple kubeconfig stores but more complex setup ## FAQ **Q: Does kubectx work with EKS, GKE, and AKS clusters?** A: Yes, kubectx works with any cluster that has a valid kubeconfig entry regardless of the provider. **Q: Can I use kubectx in CI/CD pipelines?** A: Yes, kubectx is a stateless binary that reads KUBECONFIG. It works in any environment where kubectl works. **Q: What is the difference between kubectx and kubens?** A: kubectx switches cluster contexts while kubens switches the default namespace within the current context. Both ship together. **Q: Does it modify my kubeconfig file?** A: It updates the current-context and namespace fields in your kubeconfig, the same changes kubectl config would make. ## Sources - https://github.com/ahmetb/kubectx - https://kubectx.dev --- Source: https://tokrepo.com/en/workflows/5edfcecc-3997-11f1-9bc6-00163e2b0d79 Author: Script Depot