Editors

Raku in the tools you already use. The same rakupp binary that runs your programs checks them in your editor, runs them in a notebook and hands them to an AI agent.

VS CodeThe Raku++ extension from the Marketplace: mistakes underlined as you type, hover, completion, go to definition, syntax highlighting.
EmacsThe same, through eglot or lsp-mode, plus a Raku REPL in an Emacs buffer.
NeovimThe same language server, through Neovim's built-in LSP client.
WordPressCode blocks in your posts that readers can edit and run.
JupyterRaku cells in JupyterLab, Notebook and VS Code notebooks.
AI agentsClaude Code, Claude Desktop, Cursor and others run Raku and parse with grammars.

VS Code #

Raku++ (rakupp) is on the Visual Studio Marketplace. Install it, and VS Code highlights your Raku files and checks them as you type.

Or search for Raku++ in the Extensions view, or run:

code --install-extension DeepSoft.rakupp

The extension needs rakupp installed and starts it for you. If VS Code cannot find it — likely when you start VS Code from the Dock or Spotlight, which do not always see your shell's PATH — open your user settings as JSON (Command Palette → Preferences: Open User Settings (JSON)), add the path that command -v rakupp prints, and reload the window:

"rakupp.path": "/absolute/path/to/rakupp"

It highlights .raku, .rakumod, .rakutest, .p6 and .pm6 files.

Rather wire it up yourself? The extension is a thin client for rakupp --lsp, so any generic LSP client extension pointed at that command gets the same checks. To build the extension from source instead, see the full guide, which also has what you should see, and troubleshooting.

The language server behind them #

The VS Code extension, Emacs and Neovim all talk to rakupp --lsp, a Language Server Protocol server built into rakupp. Its checks are the ones rakupp --lint runs, so the editor and the command line always agree. It reads your file but never runs it.

First, install rakupp. Version 5.2.1, the current release, gives the underlines. Hover, completion and go to definition arrive in the next release; until then they need a build of the repository.

Emacs #

Emacs 29 or later, which has eglot and use-package built in. Add this to your init file (~/.emacs.d/init.el) and restart Emacs:

(require 'package)
(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)

(use-package raku-mode
  :ensure t
  :custom (raku-exec-path "rakupp"))

(use-package eglot
  :hook (raku-mode . eglot-ensure)
  :config
  (add-to-list 'eglot-server-programs '(raku-mode . ("rakupp" "--lsp"))))

You get highlighting and indentation from raku-mode, everything the language server offers, and M-x run-raku: a REPL in a buffer that you can send lines, regions and whole files to. The Emacs guide also covers lsp-mode. Never used Emacs? Emacs 101 starts from installing it.

Neovim #

vim.lsp.start({
  name = "rakupp",
  cmd = { "rakupp", "--lsp" },
  filetypes = { "raku" },
  root_dir = vim.fn.getcwd(),
})

VS Code and Emacs are tested with the server; this Neovim setup is not yet. Any other editor with an LSP client works the same way: the command is always rakupp --lsp, over stdin and stdout.

WordPress #

The Raku Snippets plugin: install it, give a code block the class raku, and readers can edit the program and run it in the post. It runs in their browsers, so nothing runs on your server. For any other site, one script tag does the same.

Jupyter #

rakupp --jupyter-install
jupyter lab

Then pick Raku++ in the launcher. One interpreter serves the whole notebook, so a sub defined in one cell is callable in the next. You need Jupyter itself, and nothing more on the Raku side. The Jupyter guide has the details.

AI agents #

rakupp --mcp serves the interpreter over the Model Context Protocol. In Claude Code:

claude mcp add raku -- "$(command -v rakupp)" --mcp

The agent gets two tools: raku, which evaluates code in one session that keeps its state between calls, and raku-parse, which compiles a grammar and returns the match as JSON, or the line, column and rule where it failed. The MCP guide covers Claude Desktop and other clients.