tnee.
docs/core concepts/Safe deletes

safe deletes:
the right one, or none.

"Delete the muted tracks" is a description, not a target. Before any deletion touches your set, tonee works out which tracks that actually means, shows you the list by name, and then re-checks every one of them at the instant it runs.

01 /The rehearsal

When a change involves deleting something, tonee runs the whole thing twice. The first pass is a rehearsal: reads happen for real against your open set, and every write is switched off. Nothing reaches Ableton.

That's what turns a description into a list. A request like "clear out the tracks I muted" only resolves once something has actually looked at your set. The rehearsal is where that happens, before you're asked to approve anything.

Reads run for real
So "the muted ones" resolves against the set as it is right now, not against an assumption.
Writes are stubbed
Nothing is created, changed or deleted during the rehearsal, including the deletes it exists to find.
It has five seconds
Long enough for a real set, short enough that a stuck rehearsal fails fast instead of freezing the chat.
If it fails, nothing runs
A rehearsal that times out or errors aborts the whole change. tonee retries in a simpler form rather than pushing on blind.
Why it costs nothing you'd notice: the rehearsal only runs when a change actually contains a deletion. Renaming eight tracks, dialling in a compressor, writing a bassline: none of those rehearse.

02 /Targets by name, not by position

Every target the rehearsal finds is recorded with an identity that survives your set moving around. Position is the one thing it deliberately doesn't rely on: drag a track while tonee is mid-thought and "track 4" now means something else entirely.

A track
Identified by the track's own internal ID, which Ableton keeps stable even when the track moves. "Track 4" is not an identity; the ID is.
A clip
Identified by its track plus its scene slot. The scene list and the clip's name are both re-checked before the delete runs.
A device
Identified by its track, its name and its device class together, so two Reverbs on the same chain don't collapse into one target.
MIDI notes
Identified by the exact pitch and time window that was previewed. A different window is a different delete.

Those identities are what you see on the confirmation card, translated back into the names you gave things:

⚠ Delete track "VOX BGS"
⚠ Delete clip on "SUB BASS" (scene 2)
⚠ Delete audio effect "Glue Compressor" on "DRUM BUS"
⚠ Remove notes on "ACID LN" (scene 2)

If a name on that list isn't the thing you had in mind, that's the moment to press Cancel, before anything has happened.

03 /The check at the last moment

Approving the list isn't the end of it. Between the preview and the real run there's a gap: you were reading the card, and Ableton was still open in front of you. You might have deleted a scene yourself in that time, or dragged a clip.

So each deletion is checked again at the instant it executes. tonee re-reads the target from your live set and compares it against the identity you approved. If they match, it runs. If anything has shifted, that deletion is refused and the change stops there.

Every mode, always
The check is not part of the permission gate. Full Auto skips the prompt; it does not skip this.
Every deletion, once each
Approving two clip deletes authorises exactly two. A third identical one has nothing left to match against and is refused.
Failure means refuse
If the check itself can't complete (a read times out, an ID won't resolve), the answer is no. It never falls through to "run it anyway".
Non-deletes pass through
Parameter changes and additions aren't checked this way; the Undo Guard is already their safety net.

04 /When a delete is refused

A refusal isn't an error you need to fix. It means the set you're looking at stopped matching the set tonee was told about, and it chose to stop rather than guess. tonee tells you which one it was and re-reads your set before trying again.

It wasn't in the preview
A delete appeared at run time that the rehearsal never resolved. Nothing you saw and approved covers it, so it does not run.
The scene list moved
A scene was added, removed or reordered between the preview and the run, so the slot you approved may no longer be the slot being deleted.
The clip changed
The slot still exists, but the clip sitting in it is not the one that was previewed.
More than previewed
The preview named two clips; the run tried to delete three. The third is refused.
It isn't a known action
An action tonee can't classify is treated as if it were the most dangerous kind, and refused.
If it keeps happening: you're probably editing in Live while a change is in flight. Let the reply finish, then send the next request; tonee reads your set fresh on every message anyway.

05 /What you get back afterwards

Everything above is about deleting the right thing. Getting it back is a separate question, and the answer depends on whether Ableton will let tonee rebuild it.

REVERSIBLE
MIDI notes · MIDI clips · locators
The content is snapshotted before it goes. Say "undo" and tonee rebuilds it from that snapshot.
NOT REVERSIBLE
Tracks · devices · instruments · audio clips · timeline clips
These carry state Ableton's API won't hand over: internal preset data, automation, routing. tonee says so instead of pretending. Press ⌘Z in Live.

The full breakdown of what's reversible and how undo bundles it is on The Undo Guard. Which of these stop to ask you first is on Permission modes.

© 2026 tonee studio
tonee is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Ableton AG. Ableton® and Push® are registered trademarks, and Live™ and Max for Live™ are trademarks, of Ableton AG.