Commands
Detailed documentation for each Kuve command.
This page provides in-depth information about each command's behavior, use cases, and examples.
install
Install a specific kubectl version.
Usage
kuve install <version>
Behavior
- Validates version format
- Checks if version already installed
- Determines platform (OS/architecture)
- Downloads kubectl binary from
dl.k8s.io - Saves to
~/.kuve/versions/<version>/kubectl - Makes binary executable
- Confirms installation
Requirements
- Internet connection
- ~50MB disk space per version
- Write permissions in
~/.kuve/
Error Conditions
| Error | Cause | Solution |
|---|---|---|
| Already installed | Version exists | Use existing or uninstall first |
| Download failed | Network/URL issue | Check connection, verify version exists |
| Permission denied | No write access | Fix ~/.kuve/ permissions |
| Disk full | Insufficient space | Free up disk space |
See Also
uninstall
Remove an installed kubectl version.
Usage
kuve uninstall <version>
Behavior
- Validates version is installed
- Checks if version is currently active
- Removes version directory
- Confirms removal
Restrictions
- Cannot uninstall the currently active version
- Must switch to another version first
Error Conditions
| Error | Cause | Solution |
|---|---|---|
| Not installed | Version doesn't exist | Check kuve list installed |
| Currently active | Version in use | Switch to another version first |
| Permission denied | No write access | Fix permissions |
See Also
- switch - Change active version
- list installed - View installed versions
switch
Change the active kubectl version.
Usage
kuve switch <version>
Aliases
kuve use <version>
Behavior
- Validates version is installed
- Updates symlink:
~/.kuve/bin/kubectl → ~/.kuve/versions/<version>/kubectl - Confirms switch
Technical Details
- Uses symbolic links for instant switching
- No file copying involved
- Changes take effect immediately
Error Conditions
| Error | Cause | Solution |
|---|---|---|
| Not installed | Version doesn't exist | Install version first |
| Invalid version | Bad format | Use correct format (v1.28.0) |
Verification
After switching, verify:
kuve current
kubectl version --client
See Also
current
Show the currently active kubectl version.
Usage
kuve current
Behavior
- Reads symlink at
~/.kuve/bin/kubectl - Extracts version from target path
- Displays version
Output Format
Current kubectl version: v1.28.0
Use Cases
- Verify successful switch
- Check version before operations
- Debugging version issues
- Scripting version checks
Error Conditions
| Error | Cause | Solution |
|---|---|---|
| No version active | No symlink or broken | Install and switch to a version |
See Also
- switch - Change active version
- list installed - View all versions
list installed
List all locally installed kubectl versions.
Usage
kuve list installed
Behavior
- Reads
~/.kuve/versions/directory - Lists all version subdirectories
- Marks currently active version with
* - Sorts by version number
Output Format
Installed kubectl versions:
v1.26.3
* v1.28.0
v1.29.1
* = current version (v1.28.0)
Use Cases
- Audit installed versions
- Determine cleanup candidates
- Verify installations
- Check disk usage
See Also
- list remote - Check latest version
- uninstall - Remove versions
list remote
Show the latest stable kubectl version.
Usage
kuve list remote
Behavior
- Queries official Kubernetes releases
- Fetches latest stable version
- Displays version
Output Format
Latest stable version: v1.29.1
Requirements
- Internet connection
- Access to Kubernetes release API
Use Cases
- Check for updates
- Determine version to install
- Stay current with releases
See Also
- install - Install versions
- list installed - View local versions
use
Use kubectl version from file or cluster.
Usage
# From file
kuve use
# From cluster
kuve use --from-cluster
kuve use -c
Mode: From File (Default)
Behavior
- Searches for
.kubernetes-versionin current directory - Reads version from file
- Installs version if needed
- Switches to version
Requirements
.kubernetes-versionfile must exist- File must contain valid version
Mode: From Cluster
Behavior
- Connects to current Kubernetes cluster
- Queries cluster version
- Normalizes version (removes vendor suffixes)
- Installs version if needed
- Switches to version
Requirements
- Valid kubeconfig
- Cluster access
kubectlbinary available (from kuve or system)
Version Normalization
Cluster versions are normalized:
v1.28.3-gke.1234→v1.28.0v1.27.5-eks-abc123→v1.27.0v1.29.1+k3s1→v1.29.0
See Also
- init - Create version files
- Cluster Detection - Learn more
init
Create a .kubernetes-version file.
Usage
# Use current version
kuve init
# Specify version
kuve init <version>
Behavior
- Determines version (current or specified)
- Creates
.kubernetes-versionin current directory - Writes version to file
- Confirms creation
File Format
v1.28.0
Use Cases
- Set project kubectl requirement
- Document version dependency
- Enable version file workflow
- Team standardization
Best Practices
-
Commit to version control:
git add .kubernetes-version
git commit -m "Add kubectl version requirement" -
Create at project root
-
Document in README
See Also
- use - Use version from file
- Version Files - Learn more
completion
Generate shell completion scripts.
Usage
kuve completion <shell>
Supported Shells
bashzshfishpowershell
Installation
Bash
# Current session
source <(kuve completion bash)
# Persistent
kuve completion bash | sudo tee /etc/bash_completion.d/kuve
Zsh
kuve completion zsh > "${fpath[1]}/_kuve"
autoload -U compinit && compinit
Fish
kuve completion fish > ~/.config/fish/completions/kuve.fish
Features
- Command completion
- Version completion (where applicable)
- Flag completion
See Also
- Shell Setup - Configuration guide
version
Show Kuve version information.
Usage
kuve version
kuve --version
Output Format
kuve version dev
Use Cases
- Verify installation
- Report bugs (include version)
- Check for updates
help
Display help information.
Usage
kuve help [command]
kuve [command] --help
Examples
# General help
kuve help
# Command help
kuve help install
kuve install --help
Features
- Command descriptions
- Usage examples
- Available flags
- Related commands
Command Comparison
| Command | Purpose | Requires Version | Modifies State |
|---|---|---|---|
install | Add version | No | Yes (adds files) |
uninstall | Remove version | Yes | Yes (removes files) |
switch | Change active | Yes | Yes (symlink) |
current | Show active | No | No |
list installed | Show local | No | No |
list remote | Show latest | No | No |
use | Use from file/cluster | No* | Yes (symlink) |
init | Create file | No | Yes (file) |
* Auto-installs if needed
Next Steps
- Configuration - Configuration options
- Troubleshooting - Common issues
- CLI Reference - Quick reference