Confirm changes

Every change by an assistant is a suggestion. It waits under Tasks → Suggestions until you review it; you apply all of it, part of it or none of it, and one step undoes it.

ProLast updated:

On this page
Partially apply a ChatGPT suggestion · original app view with demo tracks

How a suggestion worksLink to “How a suggestion works”

  1. You ask the assistant for a change, for example a genre for several tracks.
  2. The assistant calls a change tool. This does not change anything but creates a suggestion with the status “awaiting_confirmation”.
  3. Sonodex does not open a window on its own for this. A short notice “New suggestion from AI assistant: ChatGPT” announces it with “Review” and “Later”; the number on “Tasks” shows open suggestions. If Sonodex is running in the background, it flashes in the taskbar.
  4. With “Review” (in the notice or under Tasks → Suggestions), “Confirm changes · AI assistant: ChatGPT” opens (with their name for other assistants).
  5. You review everything and click “Apply changes”, “Reject” or “Review later”. Later means: the suggestion keeps waiting until it expires after 15 minutes.
  6. The assistant checks with get_change_status and only reports that the change is done once it returns “applied”.

Apply only partLink to “Apply only part”

For changes to tracks, there is a checkbox in front of every track and every field. Untick what you do not want; “Select all” and “Select none” help with many rows. The button then reads “Apply selected changes”; “Reject all” rejects the whole suggestion. Exactly the selection on screen is applied; the history and the assistant see which part was applied (“6 of 7 changes applied”).

Small suggestions open as a narrow dialogue, large ones (from six tracks or many rows) as a wide view that you can resize.

Tasks → SuggestionsLink to “Tasks → Suggestions”

Tasks → Suggestions · original app view with demo tracks

Under Tasks → Suggestions you find open suggestions with assistant, scope and time, and below them the answered ones with their result, such as “Partially applied”. “Mark all as read” and “Remove answered” tidy up the list.

An example: cues from ChatGPTLink to “An example: cues from ChatGPT”

Confirm a cue suggestion from ChatGPT · original app view with demo tracks

This is what a suggestion from DJ preparation looks like: six new cues with pad, label and position, saved only in the library (“Library only, no audio file”).

What the dialogue showsLink to “What the dialogue shows”

ChangeIn the dialogue
MetadataFor each track and field, “Before” and “After”; with many tracks, the number of tracks and every change per track
Cover“Current cover” and “New cover” as preview images, or “Remove cover”
TagsFor each tag, “+ … for … tracks” or “− … for … tracks”
PlaylistsPositions before and after, added, removed and moved tracks; tracks already included are ignored
Smartlists“Rules before” and “Rules after” in words, and how many tracks match now (“Matching tracks: … → …”)
SetsOrder, “Total duration”, “Average transitions” and “Weakest transition”
Delete playlistWhat will be deleted; “Apply changes” only works after the extra tick “Confirm playlist deletion”
Cues“Cue points: … → …” and, for each cue, pad, label, “Before” and “After” with time and bar (“new”, “will be removed”)
BeatgridTempo, “First beat”, “First downbeat”, tempo sections and “First bars” before and after; “Cue positions stay where they are”
DuplicatesWhich track stays (“Keep”) and which are archived, with version, format, file, cues and the adjusted playlists; “No file will be deleted”
Rename, move and relink filesFor each file, “Before” and “New”, as a location relative to the library
ExportFormat, file name and “Export folder …”
Import“… matched”, “… uncertain” and “… no match” per entry; the playlist only gets the matched tracks
Audio editingOriginal and new file with format, length, BPM, key, target and measured loudness, “Listen to result” and “Original stays unchanged”
Audio files“… audio files are written” or “Library only, no audio file”

At the top it says how much longer the suggestion is valid (“Expires in …”). If several suggestions are waiting, the dialogue shows “… more suggestions waiting”.

What Sonodex safeguardsLink to “What Sonodex safeguards”

  • 15 minutes: an unconfirmed suggestion expires (“The suggestion has expired.”).
  • No overwriting: if a track or playlist has changed after the preview, nothing is applied (“Not applied: a track was changed after the preview. Nothing was changed.”).
  • Safe writing: Sonodex writes to files via a temporary file and only replaces the original after checking; since 2.2.1 it does not make a copy of the original files. Audio data stays unchanged.
  • One undo step: the change can be undone as a single step. Undo writes the previous tags back into the files; a changed cover stays. The assistant can also propose an undo itself with revert_track_edit; you confirm that too.
  • Clear feedback: if a file format cannot save a field or a cover, the dialog says so (“This file format cannot save the field; the change is dropped.”). Some fields Sonodex only saves in the library; the dialog shows that too.
  • Playlists: changes to playlists, smartlists and sets leave tracks and audio files unchanged. Deleting needs an extra tick.
  • No deleting of files: duplicates are archived, and existing files are never replaced when renaming and moving.
  • Fixed ownership: a suggestion belongs to the connection that created it (ChatGPT: the signed-in app; locally: the MCP session), not to a freely chosen name. While Sonodex is applying it, it can neither be withdrawn nor expire.

Manage suggestionsLink to “Manage suggestions”

ToolWhat it does
list_pending_changesYour own suggestions still awaiting your confirmation, with summary and expiry time
cancel_pending_changeWithdraws one of your own still-open suggestions, for example if you change your mind in the chat. Changes nothing; other assistants’ suggestions are unaffected.
get_change_historyCompleted suggestions from the current session with timestamps, whether you confirmed them, affected tracks and playlists, and whether they can still be undone
undo_operationProposes undoing an applied suggestion in one step (written tags are written back; covers and other file changes remain because Sonodex does not create copies of the files), as long as it is the latest change in Sonodex. You also confirm this in the dialogue.

Look first, then proposeLink to “Look first, then propose”

Every tool that changes something accepts dryRun: true: Sonodex then only returns the exact preview, creates no suggestion and does not ask you. This lets an assistant show you the result in the chat first.

Read-only tools return a version for tracks and playlists. If the assistant passes it along with the suggestion as expectedVersion and the track or playlist has changed in the meantime, nothing is proposed (error code database_conflict). When you confirm, Sonodex checks once more against the state of the preview anyway.

Status of a suggestionLink to “Status of a suggestion”

awaiting_confirmation
Awaiting your confirmation
applying
Being applied
applied
Applied
cancelled
Cancelled by you; nothing changed
expired
Not confirmed within 15 minutes; nothing changed
stale
A track was changed after the preview; nothing changed
failed
Failed; nothing changed

Something missing or wrong? Let us know. The app interface is available in English and German.

Original Sonodex app · Demo library