# Core Interception Points

Here is a list of all the core interception points in CommandBox that you can listen to. Some have `interceptData` that comes along with them, while others don't. Remember, the `interceptData` struct is passed by reference. This means modifying any values directly in that struct will affect how processing continues afterwards inside of CommandBox where those values are used.

Click a category for more information.

* [**CLI Lifecycle**](https://commandbox.ortusbooks.com/6.0.0-1/developing-for-commandbox/interceptors/core-interception-points/cli-lifecycle)
  * onCLIStart
  * onCLIExit
  * onSystemSettingExpansion
  * onConfigSettingSave
  * onEndpointLogin
* [**Command Execution Lifecycle**](https://commandbox.ortusbooks.com/6.0.0-1/developing-for-commandbox/interceptors/core-interception-points/command-execution-lifecycle)
  * preCommand
  * preCommandParamProcess
  * postCommand
  * prePrompt
  * preProcessLine
  * postProcessLine
* [**Module Lifecycle**](https://commandbox.ortusbooks.com/6.0.0-1/developing-for-commandbox/interceptors/core-interception-points/module-lifecycle)
  * preModuleLoad
  * postModuleLoad
  * preModuleUnLoad
  * postModuleUnload
* [**Server Lifecycle**](https://commandbox.ortusbooks.com/6.0.0-1/developing-for-commandbox/interceptors/core-interception-points/server-lifecycle)
  * preServerStart
  * onServerStart
  * onServerInstall
  * onServerInitialInstall
  * onServerStop
  * preServerForget
  * postServerForget
* [**Error Handling**](https://commandbox.ortusbooks.com/6.0.0-1/developing-for-commandbox/interceptors/core-interception-points/error-handling)
  * onException
* [**Package Lifecycle**](https://commandbox.ortusbooks.com/6.0.0-1/developing-for-commandbox/interceptors/core-interception-points/package-lifecycle)
  * preInstall
  * onInstall
  * postInstall
  * preUninstall
  * postUninstall
  * preInstallAll
  * postInstallAll
  * preVersion
  * postVersion
  * prePublish
  * postPublish
  * preUnpublish
  * postUnpublish
  * onRelease
