KASETTO

Commands

Reference for kst sync, list, doctor, init, clean, and self-update.

kst init

Generates a starter config file — local ./kasetto.yaml by default, or global config with --global.

kst init [OPTIONS]

Options

FlagDescription
--globalWrite $XDG_CONFIG_HOME/kasetto/kasetto.yaml (or ~/.config/kasetto/kasetto.yaml)
--forceOverwrite an existing config file without prompting

kst sync

Reads your config, fetches any remote skills, and brings your local install up to date.

kst sync [OPTIONS]

Options

FlagDescription
--config <path-or-url>Path or HTTPS URL to a YAML config (default order: $KASETTO_CONFIG, source: in config.yaml, ./kasetto.yaml, $XDG_CONFIG_HOME/kasetto/kasetto.yaml)
--dry-runPreview what would change without writing anything
--quietSuppress non-error output
--jsonPrint the sync report as JSON
--plainDisable colors and spinner animations
--verboseShow per-skill action details
--projectInstall into the current project directory
--globalInstall globally (default)

Missing skills are reported as broken but won't stop the rest of the run. The exit code is non-zero only for source-level failures.

--dry-run is great in CI — verify your config without touching anything on disk.

kst list

Shows everything Kasetto has installed (skills and MCP servers from the lock file).

kst list [OPTIONS]

Options

FlagDescription
--jsonOutput as JSON instead of the interactive browser
--quietDo not print anything (unless --json is set)
--plainDisable colors; use plain text output instead of the full-screen browser
--projectOnly read the project lock (./kasetto.lock) in the current directory
--globalOnly read the global lock (under XDG data)

With no --project or --global, Kasetto merges both scopes so you can see global and project installs together. Each skill row includes a scope field (in JSON and in the browser detail pane). JSON also includes "merged_scopes": true in that mode; MCP entries are objects with name, scope, pack_file, and source.

In a terminal (and without --plain), this opens an interactive browser — Skills and MCPs tabs, each with a detail pane. Navigate with j / k, scroll with page-up / page-down, jump with g g / shift+g. Switch tabs with tab or h / l.

Set NO_TUI=1 or pipe stdout to force a non-browser text listing. For a local plain listing without disabling all TUIs, use --plain.

kst doctor

Prints a local health check: your version, lock file location, install paths, last sync time, and any skills that failed.

kst doctor [OPTIONS]

Options

FlagDescription
--jsonOutput as JSON
--quietDo not print anything (unless --json)
--plainDisable colors and the banner-style header
--projectShow project-scoped diagnostics
--globalShow globally-scoped diagnostics (default)

kst clean

Removes everything Kasetto installed for the given scope — skills, MCP configs, and lock file entries.

kst clean [OPTIONS]

Options

FlagDescription
--dry-runPreview what would be removed (lists skill paths and MCP packs)
--jsonPrint output as JSON
--quietSuppress non-error output
--plainDisable colors and banner-style header
--projectClean project-scoped assets
--globalClean globally-scoped assets (default)

kst self

Manage Kasetto itself — update to a new version or remove it completely.

kst self update

Fetches the latest release from GitHub, verifies the SHA256 checksum against checksums.txt from the same release, and swaps out the binary in-place.

kst self update [OPTIONS]

Options

FlagDescription
--jsonOutput as JSON

Self-update only works when Kasetto was installed via the standalone installer. For Homebrew or Cargo installs, use their own upgrade commands.

Update notifications

Kasetto prints a yellow New version available: x.y.z → a.b.c line at the end of any command when a newer release exists on GitHub. The check runs in a background thread at most once every 24 hours and stores the result under $XDG_CACHE_HOME/kasetto/update-check.json (default: ~/.cache/kasetto/update-check.json).

The notice is suppressed when:

  • output is --json, --plain, or --quiet
  • the command emits machine-readable content (completions, self update)
  • stdout is not a TTY (e.g. piped to a file)

kst self uninstall

A full teardown: removes installed skills and MCP configs, clears Kasetto's data directories, and deletes the binary.

kst self uninstall [OPTIONS]

Options

FlagDescription
--yesSkip the confirmation prompt (required in non-interactive use)

kst completions

Generates completion scripts for your shell.

kst completions <SHELL>

Supported shells: bash, zsh, fish, powershell.

Example for Fish: kst completions fish > ~/.config/fish/completions/kst.fish

On this page