Model or dataset
Kuddev/pebrel avatar
Kuddev/pebrel

Pebrel: a GPU-accelerated terminal that treats AI CLI sessions as first-class citizens

AI-native, GPU-accelerated terminal emulator for Windows with SSH, persistent sessions, split panes, and first-class AI CLI workflows.

1,584 stars86 forksRustGPL-3.0

At a glance

What is it?
Pebrel is a Rust and GPUI terminal emulator for Windows, macOS and Linux that combines split panes, SSH and SFTP, and dedicated handling for Claude Code and Codex sessions. Its AI conveniences are the reason to look at it, and its platform split is the reason to hesitate.
Who is it for?
Pebrel is worth adopting if you run Claude Code or Codex inside a Windows terminal all day and want their activity, notifications and captured answers inside the same window as your shells and SSH hosts. It is the wrong tool if you need a terminal whose feature set is identical across operating systems, since tray residency, the global quick-terminal hotkey, automatic AI-hook setup and automatic update installation are documented as Windows-only.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Rust, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The gap Pebrel is trying to fill on Windows

Most terminal emulators treat an AI coding agent as an ordinary foreground process. You start `claude` or `codex`, the pane shows a wall of streaming text, and when the agent asks a question or finishes a long task you find out by looking at it. Pebrel's premise is that these tools deserve their own state in the terminal: the README describes Claude Code, Codex and other recognized CLIs as having dedicated icons and activity states, with supported hook events supplying what it calls more precise progress and attention signals. Notifications follow their source pane, and clicking one returns you to that terminal. The audience is narrow and identifiable: developers on Windows who keep one or more AI CLIs running alongside local shells and remote SSH hosts, and who are tired of alt-tabbing between a terminal, a browser and a chat window. Pebrel is GPL-3.0 and written in Rust using GPUI, the UI framework behind Zed. The repository describes builds for Windows 10 1809+ and 11, a Linux Preview requiring glibc 2.35+, and macOS Preview builds with a deployment target of 14+, the last two shipped as arm64 and x64 DMGs.

How the AI session tracking actually works

The mechanism is hooks plus a session identity. The README states that supported hook events provide progress and attention signals, and that on WSL and Linux, Codex session metadata can supply an ID when its hook has not reported one. That fallback matters: it implies the primary path is a hook that reports an identifier, and the metadata scan is the recovery path when the hook is missing or silent. The distinction between keeping a process alive and restoring a conversation is stated plainly in the README, which says that on Windows optional background residency keeps running sessions alive when you close the window, while restoring a conversation after the process exits is a separate feature requiring a supported CLI and a usable session identity. Those are two different guarantees and the documentation is honest about it. Captured Claude Code and Codex answers open in a reader that renders Markdown, formulas, source text and local image previews. Clipboard images are saved as PNG files and their paths are inserted into local, WSL or SSH sessions, which sidesteps the problem of a remote shell having no access to your clipboard. Inline terminal images are conditional: the README says they require the CLI to emit the supported OSC 1337 protocol, and that image attachment previews depend on the CLI itself. So the terminal provides the rendering surface, not the protocol support.

SSH, SFTP and panes without leaving the window

The remote story is conventional but complete on paper. Saved hosts, SSH config aliases, proxy and jump-host options, private-key and keyboard-interactive authentication, and host-key verification are all listed. On top of the session sits SFTP browsing, uploads and downloads, folder transfers, progress and cancellation. Local file browsing and Git actions live alongside the terminals, and duplicated WSL and SSH tabs retain their known working directory, which is the small detail that decides whether duplicating a tab is useful or annoying. Layout is handled with sidebar or top tabs, draggable split panes and per-pane working directories, and saved workspace layouts can be combined with optional AI conversation restoration. The screenshots in the repository show OpenCode, Claude Code and Codex running in split panes side by side. If you already use a terminal multiplexer over SSH, Pebrel is not replacing that; it is replacing the local window you type into. The jump-host and proxy options are the ones to check against your own infrastructure, since the README lists them without describing their configuration surface.

Getting it running and configuring it

Packages follow the naming pattern `Pebrel-v<version>-<system>-<architecture>`. Windows offers stable installers ending in `-setup.exe` plus portable ZIPs, and a legacy-named installer is supplied for older automatic-update clients. On Windows you run the installer or extract the ZIP and launch `pebrel.exe`, keeping the bundled directories together. On Linux you install the DEB or make the AppImage executable. On macOS you open the matching DMG and drag Pebrel into Applications. The README warns that ad-hoc-signed macOS builds may require Open Anyway in System Settings > Privacy & Security on first launch, and adds a caveat worth repeating: native macOS CI runs on macOS 15, and the deployment target alone does not establish validation on every older OS version. Configuration is initialized and validated from the command line with `pebrel config init --language en-US` followed by `pebrel config check`. The generated Lua configuration uses `require 'pebrel'` and `pebrel.config_builder()`, and the README notes that existing TOML configuration remains supported. The README is truncated mid-sentence in the configuration section, so the full set of keys is not visible here; you would need to read the generated file or INSTALL.md. Lua configuration with validation and live reload is a real design choice: it means a syntax error is caught rather than silently ignored, but it also means configuration is code, and code can do more than set a font size.

Where the feature matrix breaks down

The clearest limitation is stated by the project itself. Windows currently provides tray residency, the global quick-terminal hotkey, automatic local AI-hook setup and automatic update installation, and the README says these integrations are not yet available on Linux or macOS. The Linux and macOS builds are labeled Preview, with `-preview` in the filename before the extension. That combination means the AI workflow features that justify choosing Pebrel over another terminal are least complete on the platforms where the builds are least mature. A second limitation is dependency on the CLIs themselves. Inline images need OSC 1337 from the CLI; attachment previews depend on the CLI; conversation restoration needs a supported CLI and a usable session identity. Pebrel can render what it is given, and the README does not claim it can extract more. A third is the graphics requirement: OpenGL ES 2.0+ is listed as the rendering baseline, and GPU acceleration on a machine with poor driver support is a liability rather than an advantage. Finally, the version history shows a rename in progress. v1.6.0 is labeled Pebrel 1.6.0 while v1.5.0 and v1.4.1 are labeled Nebula Terminal, and the homepage URL still points at a `nebula` releases path. If you are upgrading an existing Nebula installation, INSTALL.md is referenced for that specific case, and you should read it before running the installer.

What you give up compared with Windows Terminal or WezTerm

The obvious alternative on Windows is Windows Terminal, which is also free, also open source, and ships with the OS. The difference in approach is scope. Windows Terminal is a host for shells and a renderer for panes; it has no concept of an AI agent's session identity, no hook-driven activity states, no reader for captured answers, and no SFTP browser. It also has no per-platform feature gap of the kind Pebrel documents, because it does not attempt the same integrations. WezTerm takes a third position: it is cross-platform and configured in Lua, similar to Pebrel's configuration model, and it is a mature multiplexer with its own SSH domain support. What WezTerm does not do, based on what Pebrel's README claims for itself, is treat Claude Code or Codex as anything other than a process. If your work is mostly remote sessions in tmux and you rarely run an AI CLI locally, WezTerm or Windows Terminal will cost you less attention and less disk. Pebrel's case rests entirely on the AI session layer being useful to you, because that layer is the part you cannot assemble from the other two.

Maintenance, licensing and the upgrade path

Pebrel is GPL-3.0. If you are an individual developer running the binary, that is unremarkable. If you were considering embedding the terminal in a proprietary product or shipping a modified build inside a commercial application, GPL-3.0 carries obligations that a permissively licensed terminal would not, and that is a question for your own legal review rather than something this article can settle. On maintenance, the release cadence visible in the material is brisk: v1.4.1 on 2026-08-30, v1.5.0 on 2026-09-01, v1.6.0 on 2026-09-07, with the last push on 2026-09-10. Frequent releases are a signal that the project is active, and also a signal that interfaces may still move, which matters more than usual here because the configuration format is code and the AI integration depends on hook events. The rename from Nebula to Pebrel adds a practical wrinkle: the legacy-named Windows installer exists specifically so older automatic-update clients can cross the rename, and the homepage still resolves to a `nebula` releases path. Pin a known version, keep your Lua configuration under version control so `pebrel config check` failures are diffable, and treat the Preview builds on Linux and macOS as previews rather than as equivalents of the Windows package.

Editorial conclusion

Pebrel is worth adopting if you run Claude Code or Codex inside a Windows terminal all day and want their activity, notifications and captured answers inside the same window as your shells and SSH hosts. It is the wrong tool if you need a terminal whose feature set is identical across operating systems, since tray residency, the global quick-terminal hotkey, automatic AI-hook setup and automatic update installation are documented as Windows-only. Before committing, verify three things on your own machine: that your GPU and driver meet the OpenGL ES 2.0+ requirement, that your CLI actually emits the OSC 1337 protocol if you expect inline terminal images, and that the session identity your CLI reports is stable enough to restore a conversation after the process exits.

Official sources

  1. Kuddev/pebrel on GitHub
  2. License: GPL-3.0
  3. Project website
  4. README
  5. Releases
Community notes

Community notes