Skip to content

Troubleshooting

Start with machine-readable diagnostics:

Terminal window
jorli doctor --json --no-color
Terminal window
jorli setup brokers
kite --version
dhan --version

Open a new shell if the installer changed PATH. Doctor intentionally fails when it cannot parse a supported semantic version.

Authenticate the selected CLI, download/search its instrument master, and verify historical data directly. Kite history requires a numeric instrument token; Dhan requires a numeric security ID and Data API entitlement. Jorli resolves symbols through each CLI’s instrument search. It will not hide a data failure with generated candles unless the strategy explicitly opts into demo data.

Live deployment or confirmation is rejected

Section titled “Live deployment or confirmation is rejected”

Verify that the strategy version is approved, --yes was supplied, the selected broker CLI is authenticated, and the account matches the deployment binding. For an order, review the proposed intent and use jorli orders confirm <intent> --yes. If global kill is active, reconcile broker orders and positions before deliberately clearing it.

An entry also fails closed when the full quote lacks bid/ask/volume, the spread is too wide, another live entry holds global capacity, a cross-broker risk snapshot is unavailable, or a persisted rejection/loss cooldown is active. Dhan full quotes require its Data API entitlement.

Doctor warns when no heartbeat has been written in the last two minutes:

Terminal window
jorli worker run

Run the worker independently of the terminal/dashboard. After a crash or host restart, inspect broker orders and positions before resuming.

Open http://127.0.0.1:7420/ manually and confirm no other process owns port 7420. The host intentionally does not listen on LAN interfaces. Rebuild from source with:

Terminal window
cd jorli-agent/web && npm ci && npm run build
cd .. && dotnet build JorliAgent.sln -c Release