Knot icon

A modern programmable editor

Knot is an editing environment inspired by Emacs: everything is scriptable, but with a native interface, asynchronous execution, and language tooling built in. It aims to feel lightweight, fast, inspectable, and extensible.

View on GitHub

Early development. There are no releases yet — follow along on GitHub.

Programmable to the core

Configuration, keybindings, extensions, and workflows are ordinary JavaScript or TypeScript. Built-in features use the same public APIs your extensions do — bundled code gets no special privileges.

Native and fast

A GPU-rendered interface written in Rust. Text shaping, input, and rendering stay native, so scripting never costs you responsiveness.

Never blocks

Language servers, search, Git, and external commands run asynchronously. Extensions progress independently of each other and of your typing.

Workflows you can replace

Higher-level workflows such as projects ship as ordinary bundled extensions built on public primitives. Disable them, replace them, or write your own.

A real terminal

An integrated terminal backed by a mature emulator, with sessions that survive moving between windows and layouts.

Your work is safe

Unsaved changes are preserved natively and windows restore at startup, even if an extension misbehaves.