Config directory
Kubyl uses $KUBYL_CONFIG_DIR if set, otherwise the platform config directory plus kubyl:
| Platform | Default location |
|---|---|
| macOS | ~/Library/Application Support/kubyl |
| Linux | ~/.config/kubyl |
| Windows | %APPDATA%\kubyl |
| Path | What it is |
|---|---|
settings.json | Your settings. Edit it freely. See Settings. |
settings.schema.json | JSON schema for your editor, regenerated on each start. |
state.json | Written by Kubyl: window and tab layout, favorites, sidebar folders and expanded nodes, saved forwards, palette recents, column choices, YAML revision history, web view targets, Argo CD installs you trusted, and the titles of reopenable agent threads (never their contents). Never contains secrets. |
dev-credentials.json | Only with KUBYL_CREDENTIAL_STORE=file (development). Plaintext, mode 0600. |
kubeconfigs/ | Kubeconfigs Kubyl owns or that you pasted. Mode 0600. |
kubeconfig-backups/ | Timestamped backups of edited kubeconfigs. Mode 0600. |
Logs
Kubyl's own logs are in ~/Library/Logs/Kubyl on macOS and in <local data dir>/kubyl/logs elsewhere. They rotate daily and the last 7 files are kept. The default level is info. Set RUST_LOG to change it, for example RUST_LOG=kubyl=debug. Attach these when you report a bug.
Other data
- Web view data (cookies and storage) is in
<local data dir>/kubyl/webview. - Each agent thread works in a scratch folder under
<cache dir>/kubyl/agent/threads/, which is removed with the thread. Setagent.cwdto use your own folder instead. - A local terminal tab keeps a one-context kubeconfig in
<temp dir>/kubyl-local-shells-<uid>/(folder mode 0700, file 0600). It is deleted when the tab closes, and leftovers from a crash are swept at the next start. Available in the release after 0.6.0. - Helm uses your own
helmand its repository, cache and data folders. Kubyl keeps no Helm data of its own. - CSV exports go where you save them. Nothing is written without the save dialog.
- Tokens, refresh tokens and authorization headers are in the OS keychain: macOS Keychain, Windows Credential Manager or the Linux Secret Service.
Environment variables
| Variable | Effect |
|---|---|
KUBECONFIG | Extra kubeconfig files, when kubernetes.load_kubeconfig_env is on. |
KUBYL_CONFIG_DIR | Overrides the config directory. |
RUST_LOG | Log level. Default info. |
HTTPS_PROXY, HTTP_PROXY, NO_PROXY | Proxy settings for cluster connections, in upper or lower case. |
SHELL | On macOS and Linux, used to find your login-shell PATH for exec plugins. |
KUBYL_CREDENTIAL_STORE | file or memory. Development only. file stores credentials in plaintext JSON (dev-credentials.json), memory forgets them on quit. Default is the OS keychain. |
KUBYL_WAYLAND | Linux. Set to 1 to keep the native Wayland window. By default Kubyl runs through XWayland when a Wayland session offers it, so web views can be embedded. |
WEBKIT_DISABLE_DMABUF_RENDERER | Linux. Kubyl sets it to 1 at start unless you have set it, because WebKitGTK's DMA-BUF renderer can make some compositors drop the connection (for example NVIDIA on Wayland) once a web view opens. |
KUBYL_CONTEXT, KUBYL_KUBE_TOKEN | Set by Kubyl inside a local terminal shell, not read from your environment. KUBYL_CONTEXT names the context. KUBYL_KUBE_TOKEN carries the sign-in token of contexts that sign in through Kubyl, to the kubeconfig's exec plugin only. Available in the release after 0.6.0. |
FLATPAK_ID, SNAP | Make self-update defer to the package tool. |
Kubyl takes no command-line arguments for you to use. The one exception is kubyl mcp-bridge, which an agent starts itself to reach Kubyl's cluster tools. It opens no window and you never run it by hand.