Workflow · reaper · v1.0

Reaper Daemon

Drive REAPER from Claude, Codex, or any AI agent on macOS, Windows, or Linux. No extensions, no server, no MCP. Free and open source.

Install · one line
macOS / Linux
git clone https://github.com/wretcher207/reaper-daemon.git && cd reaper-daemon && python3 setup/install.py
Windows
git clone https://github.com/wretcher207/reaper-daemon.git; cd reaper-daemon; python setup/install.py

Inputs

  • JSON command files

Outputs

  • JSON results
  • REAPER project edits

A local file bridge for driving REAPER from an AI agent. No network, no socket, no MCP server. The agent drops JSON command files in a folder, a Lua script inside REAPER runs them and writes JSON results back. That is the whole design.

git clone https://github.com/wretcher207/reaper-daemon.git && cd reaper-daemon && python3 setup/install.py

View the source on GitHub →

Free and open source, MIT licensed. macOS, Windows, or Linux — REAPER plus Python 3, about thirty seconds to install.

What it does

  • Project control: transport, tempo, cursor, time selection, render
  • Tracks: add, delete, rename, select, volume, pan, mute, solo, arm, color
  • FX: add, remove, bypass, reorder, set parameters, write automation envelopes
  • Markers, regions, and media items
  • MIDI: insert and audition MIDI files
  • Discovery: scan_fx dumps every FX and parameter in the project
  • Recipes: save a command sequence and replay it on any project

Every mutating command runs inside a REAPER undo block, so Cmd+Z reverts it like anything else.

How it works

One runtime. The Lua bridge runs forever as a defer loop inside REAPER. It polls an inbox folder, executes one command per tick, writes results to an outbox, and drops a heartbeat file you can check. It is the only thing that touches the REAPER API. Every JSON write is atomic, so a reader never sees a half-written file.

The bridge is plugin-agnostic. It ships with no knowledge of any specific synth, amp sim, or instrument. The agent learns what a project contains with scan_fx, then acts on tracks, FX, and parameters by name.

Who this is for

  • Producers who already run a coding agent on their Mac and want it to touch their session, not just talk about it
  • Anyone building tools on top of REAPER who does not want to maintain a socket server or an extension
  • People who want their drum, MIDI, or FX automation generated and inserted in one move

Install

The fastest path is the one-line installer at the top of the page. It clones the repo and runs setup/install.py, which detects your OS — macOS, Windows, or Linux — finds REAPER’s resource folder, and writes a managed block into its startup script so the bridge loads on every launch.

If you already have a coding agent on your machine, you can hand the whole job to it instead. Paste the repo’s INSTALL.md into Claude Code or Codex and it will clone, wire startup, pause for you to restart REAPER, and run a real smoke test to confirm the bridge is live.

Reaper Daemon on GitHub →

Install

Install Reaper Daemon

  1. Step 1
    Clone and run the installer

    Copy the one-line installer at the top of this page — macOS/Linux or Windows — and paste it into your terminal. It clones the repo and runs setup/install.py, which finds REAPER and wires the bridge into its startup script.

  2. Step 2
    Restart REAPER

    Quit and reopen REAPER once so the startup script loads the bridge. It then runs forever in the background and writes a heartbeat file you can check.

  3. Step 3
    Point your agent at the folder

    Tell Claude Code, Codex, or your agent of choice where the clone lives. It writes JSON commands into inbox/ and reads results from outbox/.

  4. Step 4
    Confirm it is live

    Run python3 reaperd.py status from the clone (use python on Windows). A live heartbeat and a JSON description of the open project mean the daemon is in.

Questions

Common questions

Is this free?

Yes. Reaper Daemon is free and open source under the MIT license. The source is on GitHub. There is nothing to buy.

Do I need a REAPER extension like SWS?

No. The bridge uses the native REAPER API only. No third-party extensions, no plugins, no separate install.

Is there a server or network connection?

No. There is no socket, no server, and no MCP. The agent writes JSON files into a folder and a Lua script inside REAPER reads them. Everything stays on your machine.

Can the agent break my project?

Every command that changes the project runs inside a REAPER undo block. If an edit is wrong, Cmd+Z reverts it like any other action.

Does it work on Windows?

Yes. The bridge is pure Lua on the native REAPER API and the CLI is a single Python file, so the same install runs on macOS, Windows, and Linux. setup/install.py detects your OS and wires REAPER's startup script automatically.

Which agents work with it?

Anything that can read and write files. Claude Code, Codex CLI, Cursor's terminal agent, or your own scripts. The agent does not need to know the REAPER API, it discovers the project with scan_fx and acts on tracks and FX by name.