Skip to content

klim export

Export detected tools to YAML. Without a subcommand, prints to stdout. Includes snapshot and profile management for saved exports.

Terminal window
klim export [flags] # print manifest to stdout
klim export save [label] # save as timestamped snapshot
klim export list # list saved snapshots
klim export show <name> # show a snapshot
klim export delete <name> # delete a snapshot
klim export profile <command> # manage named profiles
FlagCommandsDescription
--refreshexportForce fresh scan, ignoring on-disk cache
CommandDescription
klim export save [label]Save current tool state as a timestamped snapshot
klim export listList saved snapshots
klim export show <name>Show tools in a snapshot
klim export delete <name>Delete a snapshot
CommandDescription
klim export profile save <name>Save current state as a named profile
klim export profile listList saved profiles
klim export profile show <name>Show a profile’s tools
klim export profile delete <name>Delete a profile
  • Snapshots are timestamped — for point-in-time backups before upgrades or experiments
  • Profiles are named — for switching between configurations (“work”, “personal”, “client-x”)
Terminal window
# Export to stdout
klim export
# Save to file
klim export > my-tools.yaml
# Force fresh scan before export
klim export --refresh > my-tools.yaml
# Save before a big upgrade
klim export save "before-k8s-upgrade"
# List all snapshots
klim export list
# View what was in a snapshot
klim export show before-k8s-upgrade
# Save a named profile
klim export profile save work
# List profiles
klim export profile list
# Import on another machine
klim import my-tools.yaml

The YAML manifest includes all installed tools with their versions and package IDs:

tools:
- name: az
version: "2.67.0"
source: brew
packages:
brew: azure-cli
winget: Microsoft.AzureCLI
choco: azure-cli
- name: docker
version: "24.0.7"
source: manual
packages:
brew: docker
winget: Docker.DockerDesktop
choco: docker-desktop

The manifest is cross-platform — it contains package IDs for all supported package managers. When imported on a different OS, klim automatically picks the best available package manager.

  • Snapshots: ~/.klim/snapshots/<timestamp>-<label>.yaml
  • Profiles: ~/.klim/profiles/<name>.yaml

Both use the same YAML manifest format, so snapshots can also be used with klim diff and klim import.

The show and delete commands support fuzzy matching — you can use a label, prefix, suffix, or substring:

Terminal window
klim export show before-k8s # matches "2026-04-30T...-before-k8s-upgrade"
klim export show upgrade # also matches