# What's the right way to launch navigator?

**URL:** <https://forum.canton.network/t/whats-the-right-way-to-launch-navigator/676>\
**Category:** App Development\
**Tags:** navigator\
**Created:** [June 17, 2020, 7:00pm UTC](https://forum.canton.network/t/whats-the-right-way-to-launch-navigator/676 "2020-06-17T19:00:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Shaul](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/shaul/32/117_2.png) [@Shaul](https://forum.canton.network/u/Shaul)\
**Post date:** [June 17, 2020, 7:00pm UTC](https://forum.canton.network/t/whats-the-right-way-to-launch-navigator/676/1 "2020-06-17T19:00:17Z")

</div>

When connecting Navigator to a running ledger, what’s the difference between running

`daml navigator server <host> <port>` (documented [here](https://docs.daml.com/tools/navigator/index.html#using-navigator-with-a-daml-ledger))

vs

`daml ledger navigator --host <host> --port <port>` (documented [here](https://docs.daml.com/tools/navigator/index.html#using-navigator-with-a-daml-ledger))

When should I use each?

---

<div class="post-metadata">

**Author:** ![cocreature](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/cocreature/32/36_2.png) [@cocreature](https://forum.canton.network/u/cocreature)\
**Post date:** [June 17, 2020, 7:06pm UTC](https://forum.canton.network/t/whats-the-right-way-to-launch-navigator/676/2 "2020-06-17T19:06:53Z")

</div>

`daml navigator` just calls the underlying Navigator JAR and will pick up a `ui-backend.conf` file to determine the list of available parties or read `daml.yaml` and the parties specified there.

`daml ledger navigator` is a wrapper that first queries the party management API to get the list of known parties. It then creates a temporary `ui-backend.conf` file and starts Navigator with that config. So Navigator will show you exactly the parties that have been allocated. This is particularly useful on ledgers without implicit party allocation and on ledgers where you cannot choose your party id freely.

So if you allocate your parties properly (a DAML Script specified in `init-script` in your `daml.yaml` is sufficient for `daml start` to do that), then `daml ledger navigator` is the better option since you don’t have to update some config file if new parties have been added. If you rely on implicit party allocation then `daml navigator` is currently the better option.

Note that `daml ledger navigator` will not refresh parties if you allocate them later so you have to restart it. I would argue that long-term Navigator should become aware of the party management API itself both so that `daml ledger navigator` is no longer special and so that it can refresh them dynamically.
