summaryrefslogtreecommitdiff
path: root/docs/guide/index.md
diff options
context:
space:
mode:
authorGalen Williamson <galen@vector35.com>2025-04-14 03:10:46 -0400
committerGalen Williamson <galen@vector35.com>2025-04-14 03:10:46 -0400
commit83dc0ef0eea5face59d8a58251f78f32f3e6c914 (patch)
treee7dd82cdb5d00b8132b7d5bab8cf936353c1bb76 /docs/guide/index.md
parent04004676ca4207fc40067cae298077d74cb01cc9 (diff)
Simplifed documentation for "Launching Binary Ninja from the command line", and moved it to user guide.
Diffstat (limited to 'docs/guide/index.md')
-rw-r--r--docs/guide/index.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/guide/index.md b/docs/guide/index.md
index 48734be4..480ab676 100644
--- a/docs/guide/index.md
+++ b/docs/guide/index.md
@@ -1026,6 +1026,19 @@ The PDB loader comes with a couple configuration options which enable and disabl
* **Load Global Module Symbols (default on)**: The global module in a PDB contains a list of all the functions with no type information beyond a C++ mangled name. Generally, this information is less accurate than a full symbol type, but stripped PDBs from Microsoft's official PDB server (and ones created via the `/PDBSTRIPPED` link.exe flag) will only have information in this module. In the event that a symbol has both a defined type and a global module mangled name, the defined type will be used.
* **Cache Downloaded PDBs in Local Store (default on)**: When a PDB is downloaded from a PDB server, or loaded from a file, a copy of it will be saved in the local symbol store (as defined by #4 [above](#loading-pdbs)). This is useful when working with large PDBs that you want to save, but will use extra disk space.
+## Launching Binary Ninja from the command line (CLI)
+
+While it has always been possible to launch Binary Ninja from the command line (shell), passing file paths or URLs to open, as of 5.0, it is now possible to have some control over whether it will open in an already running instance of Binary Ninja, or in a new instance. (Previously, this would always start a new Binary Ninja application instance, unless a `binaryninja:` URL was found on the command line.)
+
+As of version 5.0:
+* Running Binary Ninja from the command line will try to find a running instance in which to open any files or URLs passed on the command line, or activate the main window if no arguments are provided.
+* For users whose workflow involves running Binary Ninja from a shell, just running `binaryninja` will try to activate a running instance, and if it does, return you to your shell. Otherwise it will launch a new instance of Binary Ninja.
+* Running `binaryninja` with a file path (or paths), like `binaryninja /bin/ls /bin/cat`, will
+ 1. Try to activate existing tabs for those files in a running instance, or failing that,
+ 2. Try to open those files in new tabs in a running instance, or failing that,
+ 3. Open those files in a new instance of Binary Ninja.
+* Passing the `-n` or `--new-instance` command line argument will cause a new Binary Ninja application to be launched, and any files or URLs on the command line will be opened in the new instance.
+
## Debugger
Binary Ninja now comes with a debugger plugin that can debug executables on Windows, Linux, and macOS.