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