Ableton Extensions will let you code your own tools and actions for Live - CDM Create Digital Music
Music tech Software Stories Tech
Ableton Extensions will let you code your own tools and actions for Live
Peter Kirn - June 2, 2026
Add comment
You run up against a limitation in Ableton Live, or you’ve got a creative idea. What if you could make it happen using code? That’s the Ableton Extension SDK, out in public beta now (JavaScript, TypeScript, Node.js). And just like that, we’ve got Live with handy new workflows, opening up scores, connecting to the Web, and playing games. Here’s what it means, and what it can and can’t do (so far).
I’ve been testing Live Extensions since early builds, and talking to the nice folks who built them.
Live Extensions require some simple prerequisites for this beta, which you can go grab now (but hey, grab a coffee and maybe read this beautiful article first).
Ableton Live Suite 12.4.5 beta (yes, Suite is required, as with Max for Live)
Free Extensions SDK beta
Node.js (and I agree with installing from the official installer; Homebrew packages are available but I always get tied up going that route).
An editor . (Use any one you like; VS Code definitely works. C’mon someone must be using Panic Nova!)
Once installed, you have access to a few critical features:
Direct Live Set Access. This is the part that lets you automate, compose, arrange, and add new actions via code, working with tracks, clips, and devices. If that sounds like the Live Object Model (LOM) in Max for Live, it should.
Custom UIs. What you can’t do with Max for Live and the LOM is this: you can assign your Extensions to contextual menus (right-click and run) and make modal dialogs. These can include integrated webviews, which can also allow you to build your own interfaces.
Node.js access. All the core APIs and NPM packages are accessible, too.
Unified API.
All installed Extensions are available all the time; you don’t have to instantiate them the way you do Max for Live devices. You just drag-and-drop Extensions, or run in-progress code from your code editor and terminal. (Image from the current beta; assume all images in this article are subject to change. Developer Mode here is switched on because I was testing some code examples.)
While you’re developing, you’ll most often run your Extension from your preferred code editor and terminal. Packaged extensions you install from the window above, and then they’ll appear like this — with the option to uninstall (like if Flappy Bird has made you forget about ever finishing your tracks).
And then they’ll pop up, where relevant, by right-clicking the top of a Clip:
These Extensions can do a lot of stuff in Live. You definitely can’t access everything, and I’m sure you’ll find plenty that you want that’s missing (see some discussion of that below). But there’s a lot to, say, "keep you busy."
Import files into projects (including downloading them)
Render audio from the Arrangement
Trigger objects (like devices) and perform actions over particular ranges
So for instance, here is a list of scopes:
AudioClip
MidiClip
AudioTrack
MidiTrack
ClipSlot
Scene
Simpler
Sample
DrumRack
For all the endless (and exhausting, sorry) discussion of how we’ll have AI-powered bots making music for us, here we finally see some powerful examples of ways you can finally reduce repetitive tasks like loading up Drum Racks or performing painfully dull post-production tasks or managing game audio assets in a Live session. And you don’t need any AI at all to do that; I’m actually looking forward to brushing up on my JavaScript and TypeScript skills. (I’m sure some people will use Claude Code and VS Code, of course, but I’m just going to fill up with a nice one-liter bottle of Berlin tap water and coffee.)
And this is not a massive robotic Live user; these are very specific, sandboxed creations to be used by humans with human intentions for their music.
To make your own extension, all you have to do is make a folder and run a little terminal-based wizard, then build via npm. There’s an extension host so you can make changes immediately without restarting Live, and some tools for building and packaging. The actual coding is going to require some brain cells if you haven’t done this before — though as I said, I’m in the mode of trying to exercise my aging brain more, not less! No pain, no gain! But yeah, some people will use Claude Code and the like. (Hey, if you do decide to do that, there are ways of running locally! But that’s a story for another time. My brain is always local very nearly always available locally.)
Running in VS Code, for instance, you would likely keep your SDK folder structure open, edit the TS code for the extension (plus all the housekeeping with the manifest and whatnot), and access npm, the Node.js package manager, for building and running your work, via a command line interface.
From the terminal (here in VS Code), just run npm with...