tnee.
docs/core concepts/The Undo Guard

the undo guard:
write fast, revert instantly.

Changes that can be reversed don't stop to ask: the safety is in the undo. Every operation, no matter how many parameters it touches, is one atomic commit you can roll back in a single step. Changes that can't be reversed are a different matter, and those are handled by permission modes.

01 /How it works

tonee maintains its own transaction journal, completely separate from Live's native undo stack. Every time the agent executes code, a cell transaction is opened. All writes inside that execution are recorded as a single commit, tagged with a sequential ID like [#7].

When you undo, tonee replays those writes in reverse, restoring exact old values, without touching anything in Live's own history. Your manual edits stay untouched.

PARAMETER
Value writes
Mixer levels, device parameters, tempo, sends. tonee captures old + new value and can flip either direction.
ADDITIVE
Created something
Tracks, clips, devices, MIDI notes. Undo deletes what was added. Redo re-creates it.
DESTRUCTIVE LIGHT
Deleted serializable content
MIDI notes, clips. tonee snapshots the data before deleting, so undo restores it from the snapshot.
DESTRUCTIVE HEAVY
Deleted a track or device
Internal preset state can't be captured via the Python API. tonee tells you to press ⌘Z in Live instead.

02 /One cell = one undo

Whether tonee touches 1 parameter or 50, everything in a single agent execution is one commit. Adding a Glue Compressor and dialing in threshold, ratio, attack, release, and sidechain routing: that's one [#N]. One undo reverses all of it.

Rename 8 tracks
8 name changes → one [#N] → one undo restores all 8 originals
Add + configure a device
1 add + 5 param writes → one [#N] → one undo removes the device entirely
Set all sends on a track
6 send level changes → one [#N] → one undo restores all 6 old levels
Sidechain routing
parameter write + routing → one [#N] → one undo undoes both together
The [#N] tag: every tool output that ends with ✓ committed [#N] represents one atomic undo unit. You can reference a specific number: "undo commit 7".

03 /What can't be undone automatically

Most operations are fully reversible. A small number aren't: specifically ones where Ableton's Python API doesn't expose the state needed to reconstruct what was deleted. When this happens, tonee tells you exactly what to do.

Track deletion
Tracks can hold automation, clips, routing state, and device presets. Can't be faithfully reconstructed. Press ⌘Z in Live.
Device deletion
Audio effects and instruments carry internal preset state that isn't exposed by Ableton's API. Same rule: ⌘Z in Live.
Timeline clip deletion
A clip removed from the arrangement takes its notes, colour and warp settings with it. Placing, moving and resizing timeline clips all undo cleanly, but deleting one is ⌘Z in Live.
History depth
tonee keeps the last 25 commits per session. Older entries fall off; they can't be undone.
Branching
If you undo back to [#3] and then make a new change, commits [#4] and later are cleared. History is linear.
When you see "press ⌘Z in Live", that's tonee telling you it hit a DESTRUCTIVE HEAVY operation. It knows it can't reconstruct the state automatically and will explicitly say so rather than silently failing. The operation already happened, so use Live's own undo immediately.

You normally get a say before that point. In every mode except Full Auto, a deletion tonee can't reverse stops and asks you first. See Permission modes for which ones pause where, and Safe deletes for how it makes sure the thing it's about to delete is the thing you approved.

04 /How to trigger undo

Just say it. tonee understands natural language for undo, so you don't need to remember a command.

"undo"
Reverts the most recent commit.
"undo that"
Same: reverts the last thing tonee did.
"undo the last change"
Also the same.
"undo commit 7"
Targets a specific [#N] by number.
"undo the rename"
tonee identifies which commit matches and reverts it.

After reverting, tonee confirms what was undone and how many changes were rolled back. If you change your mind, say "redo", as long as you haven't made a new change in the meantime.

© 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.