Config commands
Find, explain, validate, and migrate every koshi configuration file.
Find the directory
koshi config pathPrints the config directory for the current platform.
Explain a setting
koshi config explain koshi.pane.min-cols
koshi config explain koshi.auto-close-session
koshi config explain keybinding.chord-timeout-ms
koshi config explain theme.colors.accent
koshi config explain profile.versionKeys include their file kind. An unknown key exits 2 and suggests the nearest
known key.
Check every file
koshi config checkScans:
koshi.kdl
keybinding.kdl
themes/*.kdl
profile/*.kdlIt reports all read and schema errors together and changes nothing. Each path must be a regular file or a symlink to one.
Migrate schemas
koshi config migrateMigration validates every file before writing, applies each registered version
step in order, and validates after each step. An unreadable file, malformed
KDL, unsupported version, or missing step stops the run before any file is
written. Unknown keys and bad values are preserved by migration, though
koshi config check still reports them.
Changed files use atomic replacement one at a time. Symlinks remain symlinks and their targets change. A write error lists files already completed and marks the failed file as possibly changed.
Current schema version is 2. Version 1 files migrate to version 2.
Session servers and the router run this migration before reading config at
startup. If startup migration fails, they report the error and continue with
the files as they are. Migration does not repair invalid fields.
Remote commands
Every koshi share and koshi remote command, and the --remote flag that runs one invocation against another machine.
Doctor
koshi doctor rates this machine's installation — config, shell, terminal, directories, session log file, router, session directory, and remote access — one row per check.