# Clk.core.run vs Click.context.invoke

fleeting

see clk path vs click context path for the context of the examples.

In clk, we want that in the previous example, the path to be 3d > calibrate and we want this invocation to always trigger the behaviors of clk. For instance, if some one had defined a parameter for 3d.calibrate, like this.

clk parameter set 3d.calibrate --slowly


Then, it seems sensible that the internal invocation of 3d.calibrate would implicitly use that parameter. That means that, in order to take advantage of

Then, we have to trigger the clk features, calling clk.core.run("3d calibrate") instead of running ctx.invoke(calibrate). This also make sure that the call to 3d calibrate won’t modify the behavior of the context of the calling command.