> ## Documentation Index > Fetch the complete documentation index at: https://www.canva.dev/docs/apps/llms.txt > Use this file to discover all available pages before exploring further. # appProcess.registerOnStateChange API reference for the appProcess.registerOnStateChange method. Registers a callback that runs when the state of the specified app process changes. ## Usage: Listen for process state changes ```typescript import { appProcess } from '@canva/platform'; const stateDisposer = appProcess.registerOnStateChange( processId, ({ state }) => { switch (state) { case 'opening': // Process is starting up break; case 'open': // Process is active and visible break; case 'closing': // Process is about to close // Save state, cleanup resources break; case 'closed': // Process has been terminated // Final cleanup if needed break; } } ); // Later: cleanup the listener await stateDisposer(); ``` ## Parameters The ID of an app process. The callback to run when the state of the process changes. **Parameters** Information about the state change. * opts.state - The state of the process. Properties of opts}> The state of an app process. The possible states include: * `"opening"` - The app process is opening. * `"open"` - The app process is open, active, and visible on the designated surface. * `"closing"` - The app process is closing. * `"closed"` - The app process has been closed and is no longer active. While a process is closing, it won't receive any events or messages from other processes. **Available values**: * `"opening"` * `"open"` * `"closing"` * `"closed"` **Returns** `void` ## Returns A disposer function that cleans up the registered callback. () => `Promise`