Kettle is a GPU-accelerated terminal workspace for macOS and Linux. It has tabs, splits, search, session restore, themes, and local automation.
Download a package from the latest release.
| Platform | Package | Setup |
|---|---|---|
| Linux, glibc 2.35+ | kettle-linux-*.tar.gz |
Run the installer below |
| macOS 11+ | kettle-macos-universal.zip |
Move kettle.app to Applications |
Neither package needs administrator access. The Linux installer puts Kettle
under ~/.local for the current user and verifies the signed release before
changing files.
KETTLE_RAW_URL=https://raw.githubusercontent.com/Reddimus/kettle/main
curl -fsSL "$KETTLE_RAW_URL/scripts/install-online.sh" | shWindows distribution ended with 3.3.0. Archived Windows packages remain attached to their historical releases, but 4.0 and later do not ship or update Windows. CI still compiles and tests retained Windows code. That coverage does not restore distribution or supported-platform status.
Read Installation for Nix, older Linux systems, source builds, and uninstall steps.
Check for a release and install it with:
kettle --check-update
kettle updateKettle defaults to update-policy = auto: it checks the signed release feed at
most once a day and installs a newer release in the background, taking effect
on the next restart. Set update-policy = notify for a banner only, or
update-policy = off to make no automatic network request. On macOS, the
updater replaces kettle.app in place and refuses a copy owned by Homebrew.
- Open Kettle from the app launcher or run
kettle. - Press
Ctrl+Shift+Efor a side-by-side split orCtrl+Shift+Ofor a top-and-bottom split. - Press
Ctrl+,to open Settings. - Add the optional shell integration for prompt navigation and completion cards.
These commands create, locate, validate, and inspect the active configuration:
kettle --write-default-config
kettle --config-path
kettle --check-config
kettle --list-keybindsKettle reloads its plain key = value configuration when you save it. See
Configuration for every setting and Settings
for the in-app editor.
| Action | Key |
|---|---|
| New tab | Ctrl+Shift+T |
| Split left or right | Ctrl+Shift+E |
| Split top or bottom | Ctrl+Shift+O |
| Focus next or previous pane | Ctrl+Shift+N or Ctrl+Shift+P |
| Directional pane focus, Linux (passes through to the program at an edge or while zoomed) | Alt+Arrow |
| Directional pane focus, macOS | Cmd+Opt+Arrow or Ctrl+Cmd+Arrow |
| Search (the grid stays selectable while the bar is open) | Ctrl+Shift+F |
| Command palette | Ctrl+Shift+K |
| Copy or paste | Ctrl+Shift+C or Ctrl+Shift+V |
| Settings | Ctrl+, |
| Delete word or line on macOS | Opt+Backspace or Cmd+Backspace |
Use kettle --list-keybinds for the effective map. macOS also provides
Cmd+T, Cmd+C/V, Cmd+F, and Cmd+,. Getting started
covers pane movement, tabs, search, and first-run troubleshooting.
- Tabs, splits, multiple windows, pane movement, and broadcast input
- A macOS Dock menu for new tabs, new windows, and open windows
- GPU rendering, bounded scrollback, search, and inline image protocols
- Shell-driven completion cards
- File drop, copied media paths, and private image or video previews
- Session restore, recording, SSH profiles, and signed updates
- A bundled font and more than 500 themes
- An optional local control API and MCP server, both off by default
Media paste sends a quoted local path to the pane, not the file contents. Read Terminal client compatibility for shell quoting, temporary-file privacy, and client behavior.
Enable the local control API or MCP server only if every process running as
your operating system user is trusted. Once enabled, any same-user process can
connect without a pairing prompt. read-only permits inspection. full
permits input and arbitrary command execution as your user. Read
Automation and MCP before using either interface.
Kettle requires Rust 1.89 or newer. macOS needs a stable Rust toolchain. Linux contributors should install the dependencies listed under source builds.
git clone https://github.com/Reddimus/kettle
cd kettle
cargo build --locked --release -p kettleRun the repository gate before sending a change:
cargo fmt --all --check
just gauntletRead Contributing for the change workflow and Testing for prerequisites, native checks, and the larger verification gates. Performance work follows the benchmark methodology.
- Getting started and Installation
- Configuration and Settings
- Shell integration and Automation
- Architecture and Testing
- Release process
- Security and vulnerability reporting
- Changelog and older-release index
Kettle is available under the MIT license. Third-party code, assets, protocol sources, and design references are listed in NOTICE.
