A command-palette workflow utility for Ableton Live, built on the Ableton Extensions SDK (public beta). Inspired by REAPER's SWS ReaConsole: right-click a track, clip, or selection, open the console, and type short commands instead of clicking through your set.
rename selected "Lead Vox"
mute all except "Drums" "Bass" "Lead Vox"
rename clips contains "old" "Chorus Guitar"
color clips selected blue
arm tracks contains "vox"
create scene "Chorus"
audit set
Every command shows a preview of exactly what will change before you execute, applies as a single undo step, and reports per-target results. Commands touching more than 5 targets require an explicit confirmation click.
Beta disclaimer — the Extensions SDK is beta-only and its API surface may change between Live beta builds. Live Console is built strictly against SDK
1.0.0-beta.0; anything the SDK can't do (track colors, programmatic selection) is reported honestly in-app rather than faked. See docs/sdk-capability-audit.md.
- Ableton Live 12 Suite beta with the Extension Host (a beta build matching the SDK drop — the SDK docs reference Live 12.4 Beta; check the Centercode release page). Subject to the current SDK docs.
- Node.js ≥ 24.14.1 (for building/running in development).
- macOS or Windows.
- Build the package (or take a released
Live-Console-x.y.z.ablx):npm install npm run package
- In Live: Preferences → Extensions, and install/drag the
.ablxthere. - Right-click a track header, clip, clip-slot selection, arrangement selection, or scene → Open Live Console…
npm install- Copy
.env.exampleto.envand pointEXTENSION_HOST_PATHat your Live beta's host module:…/Ableton Live 12 Beta.app/Contents/Helpers/ExtensionHost/ExtensionHostNodeModule.node - Enable Developer Mode in Live → Preferences → Extensions (required —
npm startcan't connect without it). npm start— builds and loads the extension into Live.
Other scripts: npm test (parser/engine tests, no Live needed) · npm run typecheck · npm run build · npm run package. See docs/development.md for the architecture and a browser-only UI preview workflow.
The Extensions SDK has no API to read Live's current selection. The only selection an extension ever sees is what you right-clicked to open the console:
| You open the console from… | "selected" means |
|---|---|
| a track header | that track |
| a clip / clip slot | that clip (and its track for mute/solo/arm) |
| a selection of session clip slots | those clips, and their tracks |
| an arrangement time selection | the selected lanes' tracks + clips in the time range |
Name-based commands (mute track "Bass", rename tracks contains "vox" …, mute all except …) work regardless of selection. The console header always tells you what it considers selected.
See docs/commands.md for the full list with examples — or type help in the console. Highlights:
| Command | Status |
|---|---|
rename tracks/clips (selected, by name, contains-match; auto-numbering for multiples) |
supported |
mute / unmute / solo / unsolo / arm / disarm (+ all, all except …) |
supported |
color clips … |
beta (clip-color encoding is undocumented in the SDK) |
create scene "Name" |
supported |
audit set (read-only set report) |
supported |
clean names (preview) / clean names apply |
supported — preview is read-only; apply tidies track names through the preview/confirm pipeline |
color tracks …, select tracks … |
unavailable — not exposed by the SDK beta |
- Modal console: the SDK's only UI surface is a modal dialog returning a single string, so each executed command closes and reopens the console (you'll see a blink). Read-only commands (
audit set,clean names,help) run instantly without the round-trip. - No track colors, no programmatic selection, no transport — absent from SDK
1.0.0-beta.0(verified in the capability audit). - Clip colors may snap to Live's palette; the numeric encoding is undocumented.
create scenelands as two undo steps (create + rename) due to the SDK's async create.- Very large sets (> 4000 clips) disable
clips containssearch; selected clips still work. arm/disarmskip group/return/main tracks with a warning.
All processing is local. No network access, no telemetry, no external services — your set's data never leaves the machine.
- docs/product-spec.md — what/why/grammar/decisions
- docs/sdk-capability-audit.md — verified SDK surface, with evidence
- docs/commands.md — command reference
- docs/development.md — architecture, build, testing
- docs/roadmap.md — 0.1 → 0.4