# \[vtkMRMLCommandLineModuleNode.AddObserver()\] Missing Documentation

**URL:** <https://discourse.slicer.org/t/vtkmrmlcommandlinemodulenode-addobserver-missing-documentation/13868>\
**Category:** Development\
**Tags:** python-cli\
**Created:** [October 5, 2020, 4:10pm UTC](https://discourse.slicer.org/t/vtkmrmlcommandlinemodulenode-addobserver-missing-documentation/13868 "2020-10-05T16:10:16Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![strider\_hunter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/strider_hunter/32/8253_2.png) [@strider\_hunter](https://discourse.slicer.org/u/strider_hunter)\
**Post date:** [October 5, 2020, 4:10pm UTC](https://discourse.slicer.org/t/vtkmrmlcommandlinemodulenode-addobserver-missing-documentation/13868/1 "2020-10-05T16:10:16Z")

</div>

Using `cliNode = slicer.cli.run()` returns a [vtkMRMLCommandLineModuleNode](http://apidocs.slicer.org/master/classvtkMRMLCommandLineModuleNode.html) that can asynchronously call a CLI module.

It is shown [here](https://www.slicer.org/wiki/Documentation/Nightly/Developers/Python_scripting#Running_a_CLI_from_Python) that one can use the `cliNode.AddObserver()` callback for when the “ **cliNode is modified** ”.

I was unable to find any documentation on what this means exactly? When I print the output of the callback I get a lot of events. But the only unique `caller.GetStatus():caller.GetStatusString()` values are “2:Running” or “32:Completed”. So why is the callback called so many times if the modification of the CLI module takes place only twice.

This is not a blocker to my work and I was just curious since I was unable to find documentation around it.

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [October 6, 2020, 8:21pm UTC](https://discourse.slicer.org/t/vtkmrmlcommandlinemodulenode-addobserver-missing-documentation/13868/2 "2020-10-06T20:21:09Z")

</div>

> [@strider\_hunter](#):
>
> So why is the callback called so many times if the modification of the CLI module takes place only twice.

The callback is called many times because progress is updated more often than the status (percentage complete, name of current phase and operation, etc.).
