Skip to content
Kward

Platform support

Kward is a terminal application built around Ruby, PTYs, filesystem tools, and operating-system command boundaries. The core agent works across Unix-like systems, while a few terminal and sandbox features depend on the host platform.

Support matrix

Platform Support level Notes
macOS Supported Primary support for the interactive TUI, PTY handoff, editor, shell, Pan, RPC, and Seatbelt command sandboxing.
Linux Supported Interactive TUI, PTY handoff, editor, shell, Pan, and RPC are supported. Bubblewrap is required for OS-enforced command sandboxing.
WSL Best effort Core CLI behavior should work under a current WSL environment. Clipboard, browser launch, inline images, PTY controls, and host integration vary by terminal and Windows configuration.
Native Windows Unsupported Kward currently depends on Unix-style PTY and process behavior. Use WSL rather than a native Windows Ruby installation.

Kward requires Ruby 3.4 or newer. CI exercises Ruby 3.4 and the current Ruby release on Linux. Releases are developed and used on macOS as well.

Terminal expectations

Use a modern UTF-8 terminal with ANSI control-sequence support. Basic chat works without optional graphics protocols. Some features depend on terminal capabilities:

  • modified keys such as Shift+Return and Ctrl+Tab may be intercepted by the terminal;
  • inline images require iTerm2 or a recognized Kitty-compatible terminal;
  • full-screen child applications temporarily own the terminal through PTY handoff;
  • Nerd Font project-file icons are opt-in because Kward cannot detect the configured font.

See Interactive composer for keyboard fallbacks and Embedded shell for PTY behavior.

Sandboxing

Command sandboxing is opt-in and platform-specific:

  • macOS uses Seatbelt profiles;
  • Linux uses Bubblewrap and requires a host configuration that permits unprivileged namespaces;
  • WSL support depends on the Linux distribution and host namespace policy;
  • native Windows has no supported command sandbox backend.

When Kward cannot enforce a requested non-off sandbox mode, it fails closed rather than silently running the model-requested command without that boundary. See Command sandboxing for setup and exact limits.

Reporting a platform problem

Run these commands first:

ruby --version
kward --version
kward doctor

When opening a bug report, include the operating system, terminal, Ruby version, Kward version, and the smallest reproduction. Remove credentials, private paths, repository content, and sensitive command output before posting logs.