app_exit_active_command
Clears a stuck active command left by a crashed handler so Altium will accept saves again. Use it to recover from refused saves that survive editor restarts.
Instructions
Close a transaction a crashed handler left open in Altium.
THE TOOL FOR "A command is currently active and save cannot be completed at this time". While that state is set, EVERY save is refused and the editor asks whether to write a copy instead.
IT SURVIVES RESTARTING THE POLLING LOOP, because the state lives
in Altium's PCB server rather than in the script, and Escape in
the editor does not clear it either. MEASURED on 2026-08-25:
saves were being refused on a brand-new library, and the state
had been left hours earlier by lib_link_3d_model faulting
between PreProcess and PostProcess on an undeclared identifier.
It outlived several restarts.
Every PreProcess in this bridge is paired, including on its error paths, so this is not routine cleanup: it is recovery from a handler that DIED mid-transaction. AltiumScriptCentral ships the same one-line remedy as ExitActiveCommand.vbs.
Calling it when nothing is outstanding is harmless.
It saves nothing by itself. Run app_save_all afterwards and
check still_dirty.
Returns: Dict reporting whether each server accepted the unwind, plus the count of still-modified documents before and after.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||