Yet another text editor you don't need. GPU-native, opinionated, and built for conducting coding agents in their own git worktrees.
Rust
2
299 commits
updated Sep 30, 2026
Yet another text editor you don't need.

There are already plenty of good ones. This one exists because I wanted an editor shaped exactly like the way I work, and it is quite opinionated about it. If your workflow looks like mine, you might like it. If it doesn't, Zed, Neovim and VS Code are all excellent and considerably more finished.
I rarely write code alone anymore. Most days I have a few agents running at once, each in its own git worktree, across a couple of repositories, and my job is less typing and more reading what they did, steering them, and deciding what gets merged. Every editor I tried treated that as a terminal bolted to the side of the real work. pandemonium treats it as the real work.
., macros,
visual block, multi-cursor and the ex command line..vscode/launch.json or .zed/debug.json is read as it is; F5 starts or
continues.

Early, moving fast, and built for an audience of one. Things will break, defaults reflect my preferences, and features appear in the order I need them. Linux is the daily driver; macOS and Windows build in CI and should work, but get less love.
Prebuilt binaries for Linux, macOS and Windows are attached to each release.
curl -fsSL https://raw.githubusercontent.com/JoakimCarlsson/pandemonium/main/install.sh | sh
irm https://raw.githubusercontent.com/JoakimCarlsson/pandemonium/main/install.ps1 | iex
Set PANDEMONIUM_VERSION to pin a release. The script checks the download
against the release's SHA256SUMS, puts the binary in ~/.local/bin, and adds
a launcher entry on Linux or Pandemonium.app in ~/Applications on macOS.
You need a recent stable Rust toolchain (edition 2024) and a GPU that wgpu is
happy with. Agents are fetched with npx on first run, so Node helps too.
git clone https://github.com/JoakimCarlsson/pandemonium.git
cd pandemonium
make run
Other targets:
make fmt # cargo fmt --all
make lint # cargo clippy --workspace --all-targets -- -D warnings
make install # build this checkout and install it as pandemonium-preview
# (on macOS also as ~/Applications/Pandemonium.app)
make release VERSION=0.2.0 # bump, tag and push; CI builds and publishes
One crate per layer, each depending only on the ones below it.
| Crate | What it is |
|---|---|
pm-core | Projects, sessions and worktrees: the domain, knowing nothing of a UI. |
pm-acp | Agents over the Agent Client Protocol: the process and its protocol. |
pm-gfx | GPU device, surface, glyph atlas and draw list. The only wgpu code. |
pm-text | Rope storage, syntax trees and the language-server client. |
pm-dap | Debug adapters over the Debug Adapter Protocol, and launch scenarios. |
pm-vt | Terminal emulation: parser, cell grid, scrollback. |
pm-vim | Modal editing over a pm-text buffer. |
pm-ui | Element tree, layout, hit testing, focus and input routing. |
pandemonium | The binary: event loop, window, pane tree and keymap. |
The rules the codebase lives by are in AGENTS.md.
Issues, ideas and pull requests are all very welcome. It started as a personal tool, so if a change heads somewhere I hadn't planned, let's talk it through in an issue first. And if you'd rather take it in your own direction, forks are more than welcome too.
Rust
99.3%
Yet another text editor you don't need. GPU-native, opinionated, and built for conducting coding agents in their own git worktrees.
Rust
2
299 commits
updated Sep 30, 2026
Yet another text editor you don't need.

There are already plenty of good ones. This one exists because I wanted an editor shaped exactly like the way I work, and it is quite opinionated about it. If your workflow looks like mine, you might like it. If it doesn't, Zed, Neovim and VS Code are all excellent and considerably more finished.
I rarely write code alone anymore. Most days I have a few agents running at once, each in its own git worktree, across a couple of repositories, and my job is less typing and more reading what they did, steering them, and deciding what gets merged. Every editor I tried treated that as a terminal bolted to the side of the real work. pandemonium treats it as the real work.
., macros,
visual block, multi-cursor and the ex command line..vscode/launch.json or .zed/debug.json is read as it is; F5 starts or
continues.

Early, moving fast, and built for an audience of one. Things will break, defaults reflect my preferences, and features appear in the order I need them. Linux is the daily driver; macOS and Windows build in CI and should work, but get less love.
Prebuilt binaries for Linux, macOS and Windows are attached to each release.
curl -fsSL https://raw.githubusercontent.com/JoakimCarlsson/pandemonium/main/install.sh | sh
irm https://raw.githubusercontent.com/JoakimCarlsson/pandemonium/main/install.ps1 | iex
Set PANDEMONIUM_VERSION to pin a release. The script checks the download
against the release's SHA256SUMS, puts the binary in ~/.local/bin, and adds
a launcher entry on Linux or Pandemonium.app in ~/Applications on macOS.
You need a recent stable Rust toolchain (edition 2024) and a GPU that wgpu is
happy with. Agents are fetched with npx on first run, so Node helps too.
git clone https://github.com/JoakimCarlsson/pandemonium.git
cd pandemonium
make run
Other targets:
make fmt # cargo fmt --all
make lint # cargo clippy --workspace --all-targets -- -D warnings
make install # build this checkout and install it as pandemonium-preview
# (on macOS also as ~/Applications/Pandemonium.app)
make release VERSION=0.2.0 # bump, tag and push; CI builds and publishes
One crate per layer, each depending only on the ones below it.
| Crate | What it is |
|---|---|
pm-core | Projects, sessions and worktrees: the domain, knowing nothing of a UI. |
pm-acp | Agents over the Agent Client Protocol: the process and its protocol. |
pm-gfx | GPU device, surface, glyph atlas and draw list. The only wgpu code. |
pm-text | Rope storage, syntax trees and the language-server client. |
pm-dap | Debug adapters over the Debug Adapter Protocol, and launch scenarios. |
pm-vt | Terminal emulation: parser, cell grid, scrollback. |
pm-vim | Modal editing over a pm-text buffer. |
pm-ui | Element tree, layout, hit testing, focus and input routing. |
pandemonium | The binary: event loop, window, pane tree and keymap. |
The rules the codebase lives by are in AGENTS.md.
Issues, ideas and pull requests are all very welcome. It started as a personal tool, so if a change heads somewhere I hadn't planned, let's talk it through in an issue first. And if you'd rather take it in your own direction, forks are more than welcome too.
Rust
99.3%