← Changelog
v0.24.0August 24, 2026
kubectl Command Compatibility
This release closes the loop between Zapkube and kubectl in both directions — copy any UI action out as the exact command, or drive the UI from CLI verbs you already know.

📋 Copy the equivalent kubectl command
- ⌘C anywhere copies the kubectl command for what you're looking at — a resource page, an action dialog, the Logs tab, port-forwards, exec/debug — so you always have the exact CLI equivalent of what the UI just did.
- Action dialogs copy the command they'll actually run: delete, scale, restart, and expand-storage dialogs each expose their real kubectl invocation, not an approximation.
- Logs commands account for multi-container and multi-pod selections, tailing every selected container and pod in one copied command.
- Port-forwards can be copied individually, one kubectl command per forwarded port.
🖥️ CLI verbs: describe, logs, edit, delete
zapkube logs,edit,delete, anddescribenow work like their kubectl counterparts, each opening the matching view in the app:logsjumps to the Logs tab,editto the YAML tab,deleteto the resource page with the confirmation dialog open, anddescribebehaves likegetsince the resource page already is the description.- Accepts the same argument shapes as kubectl —
<type> <name>,<type>/<name>, and forlogs, a bare pod name. -cnow means--container, matching kubectl, instead of being a shorthand for--context.
✨ Also in this release
- Ingress and HTTPRoute hostnames are clickable, opening the resource's actual scheme (https when TLS applies, including wildcard certs) directly from the table or overview.
- Namespace overviews show status conditions, matching what other resource types already surface.
🐛 Fixes
- CRD printer columns backed by a scalar array (e.g. a list of strings) now render as a flattened, readable list instead of raw JSON.
- The Logs tab seeds its container list only once the pod list has settled, avoiding a flash of the wrong container.
- Deep links now preserve path escaping when translating between the CLI and the app, and only dispatch the action they were actually meant to trigger.
🧹 Misc / Chore
- The CLI's argument handling was refactored into a single parse → resolve → validate → render pipeline, and kubectl command construction across exec, debug, and port-forward now shares the same helpers.