REAPER: Custom Actions Turn Fifty Clicks Into One Key
The Real-World Scenario
Every podcast episode starts the same way. Import the files, set the track names, add a high pass, normalise, split at the first clap, delete the lead-in, colour the tracks. Ten operations, in the same order, forty times a year. You do them by hand every time because automating them looks like a scripting job.
It is not a scripting job. REAPER exposes nearly every command it has, including menu items most people reach for with the mouse, in a list you chain together. A chain is a custom action, and building one requires no code at all.
The Solved Feature: Custom Actions
Building your first custom action
Open the action list from the Actions menu, Show action list, or by pressing the question mark key. The window holds every command REAPER exposes, including many with no menu entry and no default shortcut.
Click New action, then New custom action, and name it. Add commands from the left panel by double-clicking them or dragging them across. Reorder by dragging entries up and down the right-hand list, and drop one with Remove action. Click OK to save.
The result behaves as a single command. It appears in the action list like any built-in, so you assign it a keyboard shortcut with the Add button or put it on a toolbar, and the whole sequence runs on one press.
The worked example REAPER ships with
The user guide builds one macro end to end, and it demonstrates the point better than any description. Splitting an item normally means selecting it, positioning the edit cursor, then pressing S. Three chained commands replace all three steps.
- View: Move edit cursor to mouse cursor
- Item: Select item under mouse cursor
- Item: Split items at edit or play cursor
Tick Consolidate undo points, click OK, then click Add and press lower case c. Hover over any media item and press c, and it splits under the pointer wherever the pointer is. Adding Item: Unselect (clear selection of) all items to the end leaves nothing selected afterwards.
Nothing in this sequence is special. It is three ordinary commands in an order you chose, and the same shape covers most of what a session repeats.
Consolidate undo points, the setting people miss
A macro of ten commands writes ten entries into the undo history unless Consolidate undo points is ticked in the Create Custom Action window. One press of undo then reverses a tenth of the work, and reversing the whole macro means pressing undo ten times while the project changes in ways you did not intend.
Tick it on every macro you build. In ordinary editing there is no case where ten separate undo steps for one keystroke is the behaviour you want.
Finding the command before you chain it
The filter box at the top of the action list takes plain text and boolean terms. The manual gives three shapes, and the spaces around the parentheses are required:
- delete OR remove OR clear
- insert ( item OR media )
- properties ( take NOT channel )
Two options in the right-click menu are worth turning on early. Search for synonyms of common words widens a search, so delete take also finds remove take. Remember last action filter keeps your search when the window is closed and reopened.
Any existing shortcut appears to the left of its action, so the list doubles as a reference for what is already bound. For something printable, Help, Key bindings and mouse modifiers opens your current assignments in a browser, and Help, Action list as HTML opens the full set of available commands.
Sections, and why a shortcut stops working in the MIDI editor
The action list is divided into sections: Main, Main (alt recording), Main (alt-1 through alt-16), Media Explorer, MIDI editor, MIDI event list editor, MIDI in-line editor and Crossfade editor. A key assigned in one section has no effect in another.
The split is deliberate. It lets one set of keys mean different things in different windows, so the same keys choose a CC lane in the MIDI editor and browse folders in the Media Explorer without interfering. Arriving from a DAW with a single global key set, the first symptom is a shortcut appearing to break the moment a MIDI item opens.
Each section is reached where it applies. The MIDI editor has its own Actions menu with Show action list. The Media Explorer list opens from a right-click on its title bar.
Making one shortcut work everywhere
Selecting an action and clicking Add opens the Keyboard, MIDI and OSC Input window, which carries a scope setting. Global makes the shortcut work in every section. Global plus text goes further and keeps it working while a text field is being edited.
Global overrides are marked in the action list with a bracketed g before the key, so a global Q reads as (g)Q. Before assigning anything, the Find shortcut button reports whether a keystroke is free, and assigning an occupied key prompts you to replace the existing binding or leave it.
Setting this up on macOS
REAPER documentation and most forum threads are written Windows first. Substitute Command for Ctrl and Option for Alt throughout, which is the substitution the user guide states for Mac users.
macOS claims some keystrokes before REAPER sees them. A binding doing nothing at all is usually a system shortcut taking the key first, and the fix is either releasing it in System Settings under Keyboard Shortcuts or choosing a key macOS has not taken. REAPER leans on unmodified letters for its own defaults for the same reason, and single letters remain the safest space for your macros.
Your configuration lives in Library, Application Support, REAPER inside your home folder. Options, Show REAPER resource path opens it directly, which saves hunting through a hidden directory.
Backing the set up before you need to
The Key map button at the lower right of the action list window handles both directions. Export shortcut keymap file writes a ReaperKeyMap file, by default into the KeyMaps folder of the resource path above. Import shortcuts and custom actions reads one back, either into every section or into the current section only.
Export before a reinstall, before moving machines, and after any session where you built something you would resent rebuilding. The file carries custom actions as well as key assignments, so it is the whole investment rather than half of it.
Putting a macro on a toolbar, and arming it
Options, Customize menus and toolbars assigns any command, including your own macros, to a new or existing toolbar button. Ticking Show as active in the Create Custom Action window lets the button light up while the macro is running.
A macro referring to the mouse cursor has an obvious problem on a toolbar, because the pointer sits over the button rather than over a media item. Arming solves it. Right-click the button, move the pointer over the timeline, and the cursor changes to an A. The next left click runs the action at the point clicked. The user guide calls the result a smart tool and names split, mute, solo and delete as suitable candidates.
Repeating a macro without repeating the keystroke
Two commands turn a macro into a loop: Action: prompt to continue, and Action: prompt to go to action loop start. Placed inside a custom action they ask after each pass whether to run again, so a macro stepping to the next item and dropping a marker walks a whole track from one keystroke.
The manual uses exactly this example, dropping a marker at the start of each verse of a song. Answering no ends the loop.
The commands worth chaining first
Start with the sequence you repeat most, rather than the most impressive one. Good first candidates share a shape: several operations always performed together, in a fixed order, on a selection you have already made.
- Session setup: create tracks, name them, insert your standard plugin chain, set colours
- Editing repeats: split at cursor, trim silence, apply fades, move to the next item
- Delivery: select all, render with a preset, open the render folder
A custom action nests inside another custom action, so small reliable chains combine into larger ones without rebuilding them.
When a chain is the wrong tool
Chaining suits fixed sequences. Anything needing a condition, a calculation or a counted loop belongs in a script. New action, Load ReaScript imports Lua, EEL and Python files into the same list, where they take shortcuts and toolbar buttons like any other action. Python additionally needs a Python installation and ReaScript enabled under Preferences, Plug-ins, ReaScript.
Two places to look before writing one. ReaPack is a package manager for REAPER scripts and installs collections in bulk. The REAPER Stash carries a custom actions section, so a sequence you are about to build by hand might already exist.
Why this changes REAPER specifically
Most applications hide a fixed set of features behind a fixed interface. REAPER exposes the command layer itself, so the software reshapes around a workflow rather than the workflow bending around the software. Two REAPER users doing different work end up with genuinely different applications.
The practical consequence for a new user is worth stating plainly. When something in REAPER feels repetitive, the answer is usually a custom action rather than a faster mouse.
Pro Tips and Gotchas
- Actions run in the order listed and do not pause. A chain depending on a selection needs the selection made first, so include the selection command in the chain rather than assuming it.
- Tick Consolidate undo points on every macro. Without it, one keystroke leaves ten entries in the undo history and one undo reverses a fraction of the work.
- A shortcut assigned in the Main section does nothing in the MIDI editor. Set the scope to global in the Keyboard, MIDI and OSC Input window when you want one key everywhere.
- On macOS a binding doing nothing at all is usually a system shortcut taking the keystroke first. Check System Settings under Keyboard Shortcuts before rebuilding the macro.
- Test on a copy of a project. A chain including a destructive command runs it every time without confirming.
- Build short chains and nest them. A twenty step macro is hard to repair when one command changes behaviour between versions.
- Export your custom actions with your key map before reinstalling or moving machines, or you rebuild them from memory.
Where This Fits
The wider discipline is covered in Audio Recording Fundamentals, the pillar guide for this area. This page is entry 4 in Features You May Not Know About, a series on capabilities shipping in software you already own.
Building a set that lasts
The value of a custom action is proportional to how often you run it, so build them from what you actually repeat rather than from what seems clever. A week of noticing which sequences you perform repeatedly produces a better list than any amount of planning in advance.
Build small and combine. An action chaining twenty steps is hard to debug when one step changes behaviour, and the same sequence built from four short actions can be repaired in the place it broke. Short actions are also reusable in combinations you have not thought of yet.
Name them so you can find them a month later. The action list grows quickly, and a set of similarly named entries is as slow to search as performing the steps manually. A consistent prefix per category makes the list navigable by typing.
Vocabulary
Custom action. A stored sequence of commands run as one, in an application allowing them to be chained. Turns a repeated series of steps into a single key press, and nests inside other custom actions.
Action list. The searchable index of every command an application exposes, including ones with no menu entry or default key. Where custom actions are assembled and where unassigned commands are found.
Chaining. Combining several commands so they run in order as one operation. Works well for deterministic sequences and poorly where a step depends on what the previous one selected.
Section. One of the separate keyboard maps REAPER keeps for its different windows, among them Main, MIDI editor and Media Explorer. The same key means different things in each, unless a binding is given global scope.
Armed action. A toolbar button put into a waiting state by a right-click, so the next left click in the timeline runs it at the clicked point. The way an action referring to the mouse cursor is usable from a toolbar at all.
Toolbar assignment. Attaching a command to an on-screen button rather than a key. Useful for actions run occasionally, where a key would be forgotten between uses but a visible button would not.
Sources
Every menu path, option name and command title on this page was read in REAPER's own user guide before it was written. Checked 28 August 2026 against version 7.79.
- Geoffrey Francis, Up and Running: A REAPER User Guide, version 7.79. The official guide, dated 17 August 2026. Section 15.15 covers custom action macros and gives the split-under-mouse example reproduced above. Section 15.2 gives the question mark shortcut and the two Help menu listings, 15.6 the global and global plus text scopes, 15.8 the action list sections, 15.14 the key map export and the ReaperKeyMap file, 15.18 the two meta actions, and 15.27 armed actions and smart tools.
- ReaPack. The package manager named in section 15.17 of the user guide as a source of scripts, with its own user guide covering installation.
- REAPER Stash, custom actions. The custom actions section of the file exchange the user guide points to in 15.16, worth searching before building a long chain by hand.
Translate this page
- Español
- 简体中文
- हिन्दी
- العربية
- Português
- Français
- Deutsch
- 日本語
- Русский
- Bahasa Indonesia
- 한국어
- Italiano
- Türkçe
- Tiếng Việt
- Polski
- Nederlands
Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.