LumiCode takes only a few minutes to install. After that, it tells you when a new version is available, you can update it with a single command, and you can use it to download every other Luminesce binary you need. This article shows you how to install LumiCode and sign in for the first time.
Prerequisites
- The .NET 10 SDK, on any operating system that .NET 10 supports (Windows, macOS or Linux). LumiCode installs as a .NET tool, so you need the SDK, not just the runtime. Run
dotnet --list-sdksto check which SDKs you have. - Two licences for your LUSID domain, which you can request from FINBOURNE:
honeycomb-binary-downloads, which lets you download any Luminesce binary.honeycomb-binary-download-lumi-code, which lets you download LumiCode.
- Permission to download LumiCode. Users with the
lusid-administratorrole have it by default. Other users need the feature policy in Appendix A.
Method
Step 1: Download LumiCode
You can only download LumiCode the first time through Swagger, as described below. The DownloadBinary page in the API reference can't download the file for you. Once LumiCode is installed, you won't need Swagger again: LumiCode updates itself, and downloads any other Luminesce binary for you.
- Navigate to
https://<your-domain>.lusid.com/honeycomb/swagger/index.html, where<your-domain>is the name of your LUSID domain, for exampleacmecorp. - Find the DownloadBinary API and select Try it out.
- Set
typetoLumiCodeand leaveversionblank to get the latest version. Then select Execute.

- In the response, select Download file. Your browser saves a
.nupkgfile to its usual download folder.

If you see a message saying you are not allowed to download LumiCode, the message also lists what you're missing: licences for your domain, an entitlement for your user, or both. See Prerequisites.
Step 2: Install LumiCode
In a terminal, run the following command, replacing <folder> with the folder that contains the downloaded .nupkg file:
dotnet tool install --global Finbourne.Luminesce.Lumi --add-source <folder>
This installs the lumi command in the .NET tools folder:
- Windows:
%USERPROFILE%\.dotnet\tools - macOS and Linux:
$HOME/.dotnet/tools
If your terminal can't find lumi, add that folder to your PATH, then open a new terminal.
Step 3: Sign in and run LumiCode
Sign in to your LUSID domain:
lumi login --domain=<your-domain>.lusid.com
Your browser opens so that you can sign in. LumiCode saves your sign-in as a profile, so you only need to do this once.

Then run lumi with no arguments to start an interactive session.
To see every command and option, run lumi --help:
Description:
LumiCode - the interactive Luminesce terminal. Run 'lumi' with no arguments for the interactive session.
Usage:
lumi [command] [options]
Options:
--profile <profile> Configuration profile to use (default: the active profile)
--domain <domain> LUSID domain override, e.g. myco.lusid.com
--pat <pat> Personal access token (or raw JWT) used as the bearer; also read from FBN_ACCESS_TOKEN
--debug Trace every HTTP request placed (method, URL, status, timing) to stderr; also enabled by LUMI_DEBUG=1
-?, -h, --help Show help and usage information
--version Show version information
Commands:
login Sign in to a LUSID domain via your browser and remember the profile
run <queries> Run one or more queries non-interactively: data to stdout, feedback to stderr, exit code = failed query count
config Show configured profiles
diagnose <arguments> Diagnoses an ExecutionId [window, default 7d] [some-file-name.md]
Updating LumiCode
Once a day, LumiCode checks whether a newer version is available and tells you if it has new features. Use /whats-new to see what has changed and /update to install the latest version. To stop these checks, use /set update-check off.

On Windows, LumiCode can't replace itself while it's running. Instead, /update downloads the new version and shows you the command to run after you exit.
Downloading other Luminesce binaries
Once LumiCode is installed, use /binaries to download any other Luminesce binary, such as provider hosts and drivers, without going back to Swagger. Choose the binary, the version (the latest by default) and the folder to save it to. Each binary needs its own licence and entitlement.
Appendix A: Allowing non-administrative users to download LumiCode
Once FINBOURNE grants the licences, users with the lusid-administrator role can download LumiCode by default.
To let other users download it, create a feature policy with the following JSON, assign the policy to a role, and then assign the role to each user:
{
"description": "User can download LumiCode",
"applications": [
"Honeycomb"
],
"grant": "Allow",
"selectors": [
{
"idSelectorDefinition": {
"identifier": {
"code": "LumiCode",
"scope": "Honeycomb"
},
"actions": [
{
"scope": "Honeycomb",
"activity": "DownloadBinary",
"entity": "Feature"
}
],
"name": "LumiCode binary",
"description": "User can download LumiCode"
}
}
],
"when": {
"activate": "2023-01-01T00:00:00.0000000+00:00",
"deactivate": "9999-12-31T23:59:59.9999999+00:00"
}
}