Command reference
Every command, flag, and subcommand exactly as --help prints it, worked examples included. Run npm run docs:commands to regenerate after adding or changing a command.
Global flags and environment variables
See configuration.md for the full environment variable and config-key reference. The block below is kite --help itself:
Usage: kite [options] [command]
Unofficial, safety-first CLI for the Zerodha Kite Connect v3 API (not affiliated
with Zerodha)
Options:
-v, --version output the version number
--json Emit JSON instead of formatted tables
--color <when> Colour output: auto, always, or never
--quiet Suppress informational messages
--debug Print redacted request diagnostics to stderr
--profile <name> Account profile to use (see `kite profiles`)
-y, --yes Skip confirmation prompts (use with care)
--dry-run Show what would happen without sending
anything to Kite
-h, --help display help for command
Account:
login [options] Authenticate with Kite and store a session
logout [options] Invalidate the session and remove the stored
access token
whoami [options] Show the current session and account details
profiles Manage account profiles for multiple Zerodha
accounts
Portfolio:
holdings [options] Show your long-term holdings
positions [options] Show your open positions
funds [options] Show available margin and funds
authorise|authorize [isins...] Authorise holdings at the depository so they
can be sold (recovers from HTTP 428)
convert [options] <instrument> Convert a position between products (e.g.
MIS to CNC)
Mutual funds:
mf View mutual fund holdings, orders and SIPs
Market data:
quote [options] <instruments...> Show full quotes with market depth
ltp <instruments...> Show last traded prices (fastest quote
endpoint)
ohlc <instruments...> Show open/high/low/close plus last price
history [options] <instrument> Fetch historical candles
instruments Browse the instrument master
Trading:
orders View and manage orders
trades Show today's executed trades
gtt Manage Good Till Triggered orders
alerts Manage price alerts
margins Calculate order margins and charges (nothing
is placed)
Streaming:
watch [options] [instruments...] Stream live quotes in a self-updating table
Integrations:
mcp Run a read-only MCP server over stdio for
LLM agents (Claude and others)
Settings:
config View and change CLI settings
doctor Run offline health checks on your
configuration, credentials, and session
completion [shell] Print a shell completion script
Commands:
help [command] display help for command
Examples:
$ kite login Authenticate and store a session
$ kite holdings Show your portfolio
$ kite quote NSE:INFY NSE:TCS Live quotes for two symbols
$ kite watch --holdings Stream your whole portfolio
$ kite history NSE:INFY -i 5minute --from 7d Recent 5-minute candles
$ kite orders place NSE:INFY -s BUY -q 1 --dry-run
Preview an order without sending it
$ kite positions --json | jq '.[].pnl' Machine-readable output
$ kite --profile huf holdings Run against another account (kite profiles)
Safety:
Order commands preview the resolved order and ask for confirmation.
Use --dry-run to validate without sending, or --yes to skip the prompt.
Disable trading entirely with: kite config set trading.enabled falseExit codes, the JSON output contract, and CI usage are documented in Scripting & automation.
kite login
Usage: kite login [options]
Authenticate with Kite and store a session
Options:
--manual Paste the request token (or redirect URL) by hand instead of
using a local callback server — best for headless/SSH
sessions
--api-key <key> Kite Connect API key (prompted for if absent)
--force Log in again even if the current session is still valid
-h, --help display help for command
Examples:
$ kite login Open a browser and store the session
$ kite login --manual Paste the request token by hand (headless/SSH)
$ kite login --api-key abcd1234efgh5678 Use a specific API key instead of the stored one
$ kite login --force Re-authenticate even if the session is still valid
$ kite --profile huf login Log in to another account (see `kite profiles`)kite logout
Usage: kite logout [options]
Invalidate the session and remove the stored access token
Options:
--all Also remove the stored API secret
-h, --help display help for command
Examples:
$ kite logout Forget the access token, keep the API secret
$ kite logout --all Also forget the API secret — a full login next time
$ kite --profile huf logout Log out of one profile onlykite whoami
Usage: kite whoami [options]
Show the current session and account details
Options:
--all List every configured profile and its session status
-h, --help display help for command
Examples:
$ kite whoami Verify which account this session belongs to
$ kite whoami --all Session status for every configured profile
$ kite whoami --json | jq -r .account.user_id Just the Kite user idkite profiles
Usage: kite profiles [options] [command]
Manage account profiles for multiple Zerodha accounts
Options:
-h, --help display help for command
Commands:
list|ls List configured profiles and their session status
add [options] <name> Register a new account profile (does not log in)
remove|rm <name> Delete a profile and its stored credentials
use <name> Set the default profile for future commands
current Show the profile this invocation resolves to
help [command] display help for command
Examples:
$ kite profiles List profiles and their session status
$ kite profiles add huf --api-key abcd1234efgh5678
Register a second account
$ kite --profile huf login Log in to it (each profile has its own session)
$ kite --profile huf holdings Run any command against it
$ kite profiles use huf Make it the default for future commandskite profiles list
Usage: kite profiles list|ls [options]
List configured profiles and their session status
Options:
-h, --help display help for command
Examples:
$ kite profiles list Every profile, with which one is the default
$ kite profiles ls --json Machine-readable listingkite profiles add
Usage: kite profiles add [options] <name>
Register a new account profile (does not log in)
Arguments:
name A short label, e.g. personal or huf
Options:
--api-key <key> Kite Connect API key for this account
--max-order-value <rupees> Per-profile cap on any single order
-h, --help display help for command
Examples:
$ kite profiles add huf
Prompt for the API key
$ kite profiles add huf --api-key abcd1234efgh5678
Supply it up front
$ kite profiles add huf --max-order-value 50000
Cap any single order on this account at ₹50,000kite profiles remove
Usage: kite profiles remove|rm [options] <name>
Delete a profile and its stored credentials
Options:
-h, --help display help for command
Examples:
$ kite profiles remove huf Delete the profile, its API key and its sessionkite profiles use
Usage: kite profiles use [options] <name>
Set the default profile for future commands
Options:
-h, --help display help for command
Examples:
$ kite profiles use huf Commands without --profile now run against huf
$ kite profiles use default Go back to the unnamed default accountkite profiles current
Usage: kite profiles current [options]
Show the profile this invocation resolves to
Options:
-h, --help display help for command
Examples:
$ kite profiles current Which account a bare `kite holdings` would hit
$ kite --profile huf profiles current Check how an explicit --profile resolveskite holdings
Usage: kite holdings [options]
Show your long-term holdings
Options:
--sort <field> Sort by: symbol, value, pnl, day (default: "value")
-h, --help display help for command
Examples:
$ kite holdings Everything you hold, largest position first
$ kite holdings --sort pnl Best to worst performer
$ kite holdings --sort day Sort by today's move
$ kite holdings --json | jq -r '.[].tradingsymbol'
Just the symbols, for scriptingkite positions
Usage: kite positions [options]
Show your open positions
Options:
--day Show intraday positions instead of net
-h, --help display help for command
Examples:
$ kite positions Net positions carried plus today
$ kite positions --day Only today's intraday positions
$ kite positions --json | jq '.[].pnl' JSON is the array being shown, not {net, day}kite funds
Usage: kite funds [options]
Show available margin and funds
Options:
--segment <segment> equity or commodity
-h, --help display help for command
Examples:
$ kite funds Equity and commodity margins
$ kite funds --segment equity Equity only
$ kite funds --json | jq .equity.net Cash available to tradekite authorise
Usage: kite authorise|authorize [options] [isins...]
Authorise holdings at the depository so they can be sold (recovers from HTTP
428)
Arguments:
isins Specific ISINs to authorise. Omit to authorise the whole demat
account.
Options:
-h, --help display help for command
Examples:
$ kite authorise Authorise the whole demat account
$ kite authorise INE009A01021 Authorise one holding by ISIN
$ kite authorise INE009A01021 INE467B01029 Authorise several at oncekite convert
Usage: kite convert [options] <instrument>
Convert a position between products (e.g. MIS to CNC)
Arguments:
instrument Instrument as EXCHANGE:SYMBOL, e.g. NSE:INFY
Options:
--quantity <n> Quantity to convert
--from <product> Current product (CNC, NRML, MIS, MTF)
--to <product> Target product (CNC, NRML, MIS, MTF)
--transaction-type <type> BUY or SELL (default: "BUY")
--position-type <type> overnight or day (default: "day")
-h, --help display help for command
Examples:
$ kite convert NSE:INFY --quantity 10 --from MIS --to CNC
Carry an intraday buy forward as delivery
$ kite convert NSE:INFY --quantity 10 --from MIS --to CNC --dry-run
Preview it first
$ kite convert NFO:NIFTY25AUGFUT --quantity 75 --from NRML --to MIS --transaction-type SELL
Convert a short futures position to intraday marginkite mf
Usage: kite mf [options] [command]
View mutual fund holdings, orders and SIPs
Options:
-h, --help display help for command
Commands:
holdings Show your mutual fund holdings
orders Show mutual fund orders from the last 7 days
sips Show your mutual fund SIPs
help [command] display help for command
Examples:
$ kite mf Your fund holdings (holdings is the default)
$ kite mf orders Purchases and redemptions from the last 7 days
$ kite mf sips Standing instructions and their next instalmentkite mf holdings
Usage: kite mf holdings [options]
Show your mutual fund holdings
Options:
-h, --help display help for command
Examples:
$ kite mf holdings Units, average cost and current value per fund
$ kite mf holdings --json | jq '[.[].pnl] | add'
Total unrealised P&L across fundskite mf orders
Usage: kite mf orders [options]
Show mutual fund orders from the last 7 days
Options:
-h, --help display help for command
Examples:
$ kite mf orders Recent purchases and redemptionskite mf sips
Usage: kite mf sips [options]
Show your mutual fund SIPs
Options:
-h, --help display help for command
Examples:
$ kite mf sips Every SIP, its instalment and next due datekite quote
Usage: kite quote [options] <instruments...>
Show full quotes with market depth
Arguments:
instruments One or more instruments, e.g. NSE:INFY NSE:TCS
Options:
--depth Show the full 5-level order book
-h, --help display help for command
Examples:
$ kite quote NSE:INFY Full quote for one instrument
$ kite quote NSE:INFY NSE:TCS NSE:HDFCBANK Several at once (one API call)
$ kite quote NSE:INFY --depth With the 5-level bid/ask book
$ kite quote "INDICES:NIFTY 50" An index — quote a symbol with a space
$ kite quote NFO:NIFTY25AUGFUT --json JSON keyed by EXCHANGE:SYMBOLkite ltp
Usage: kite ltp [options] <instruments...>
Show last traded prices (fastest quote endpoint)
Arguments:
instruments One or more instruments, e.g. NSE:INFY
Options:
-h, --help display help for command
Examples:
$ kite ltp NSE:INFY Last traded price
$ kite ltp NSE:INFY NSE:TCS Several at once
$ kite ltp NSE:INFY --json | jq '."NSE:INFY".last_price'
One price, for a scriptkite ohlc
Usage: kite ohlc [options] <instruments...>
Show open/high/low/close plus last price
Arguments:
instruments One or more instruments
Options:
-h, --help display help for command
Examples:
$ kite ohlc NSE:INFY Today's open/high/low/close and last price
$ kite ohlc NSE:INFY NSE:TCS Several at once
$ kite ohlc "INDICES:NIFTY 50" --json Index OHLC as JSONkite history
Usage: kite history [options] <instrument>
Fetch historical candles
Arguments:
instrument Instrument as EXCHANGE:SYMBOL
Options:
-i, --interval <interval> Candle interval (default: "day")
--from <date> Start date (YYYY-MM-DD or a relative offset like
30d) (default: "30d")
--to <date> End date (YYYY-MM-DD) (default: "today")
--oi Include open interest
--continuous Stitch expired contracts (futures only)
--csv Emit CSV instead of a table
--limit <n> Show only the last N candles in table view
(default: "30")
-h, --help display help for command
Examples:
$ kite history NSE:INFY Daily candles for the last 30 days
$ kite history NSE:INFY -i 5minute --from 7d Intraday candles for the last week
$ kite history NSE:INFY --from 2025-01-01 --to 2025-03-31 --csv > infy.csv
A date range, as CSV
$ kite history NFO:NIFTY25AUGFUT -i 15minute --oi
Futures candles with open interest
$ kite history NFO:NIFTY25AUGFUT --continuous Stitch expired contracts into one series
$ kite history NSE:INFY --limit 5 Show only the last 5 candles in the tablekite instruments
Usage: kite instruments [options] [command]
Browse the instrument master
Options:
-h, --help display help for command
Commands:
search [options] <query> Search instruments by symbol or name
refresh Re-download the instrument master
help [command] display help for command
Examples:
$ kite instruments search INFY Find a tradingsymbol to use elsewhere
$ kite instruments refresh Re-download after expiries or new listingskite instruments search
Usage: kite instruments search [options] <query>
Search instruments by symbol or name
Arguments:
query Search text, e.g. INFY or "nifty bank"
Options:
-e, --exchange <exchange> Filter by exchange, e.g. NSE, NFO
-t, --type <type> Filter by instrument type, e.g. EQ, FUT, CE, PE
-n, --limit <n> Maximum results (default: "25")
-h, --help display help for command
Examples:
$ kite instruments search INFY Anything matching INFY
$ kite instruments search INFY -e NSE -t EQ Only the NSE equity line
$ kite instruments search "nifty bank" -e NFO -t FUT
Bank Nifty futures contracts
$ kite instruments search NIFTY -e NFO -t CE -n 50
Up to 50 call optionskite instruments refresh
Usage: kite instruments refresh [options]
Re-download the instrument master
Options:
-h, --help display help for command
Examples:
$ kite instruments refresh Refresh the cached contract list (run after expiry day)kite orders
Usage: kite orders [options] [command]
View and manage orders
Options:
-h, --help display help for command
Commands:
list [options] Show today's orderbook
get <order-id> Show the full state history of one order
reconcile [tag] Check whether a tagged order reached Kite
(recovery after an ambiguous failure)
place [options] <instrument> Place an order
modify [options] <order-id> Modify a pending order
cancel [options] <order-id> Cancel a pending order
help [command] display help for command
Examples:
$ kite orders Today's orderbook
$ kite orders place NSE:INFY -s BUY -q 1 --dry-run
Preview an order without sending it
$ kite orders get 250724000123456 Did it actually execute?
$ kite orders cancel 250724000123456 Cancel a working orderkite orders list
Usage: kite orders list [options]
Show today's orderbook
Options:
--open Show only orders that are still working
-h, --help display help for command
Examples:
$ kite orders Every order placed today (list is the default)
$ kite orders list --open Only orders still working
$ kite orders list --open --json | jq -r '.[].order_id'
Order ids, for scriptingkite orders get
Usage: kite orders get [options] <order-id>
Show the full state history of one order
Options:
-h, --help display help for command
Examples:
$ kite orders get 250724000123456 Every status this order passed through
$ kite orders get 250724000123456 --json The raw status historykite orders reconcile
Usage: kite orders reconcile [options] [tag]
Check whether a tagged order reached Kite (recovery after an ambiguous failure)
Arguments:
tag Order tag to look up; omit to list the orders this CLI placed
today
Options:
-h, --help display help for command
Examples:
$ kite orders reconcile List every order this CLI tagged today
$ kite orders reconcile kc1a2b3c4d5e6f Did the order with this tag reach Kite?
$ kite orders reconcile myhedge9f8e7d6c Same, for an order placed with --tag myhedgekite orders place
Usage: kite orders place [options] <instrument>
Place an order
Arguments:
instrument Instrument as EXCHANGE:SYMBOL, e.g. NSE:INFY
Options:
-s, --side <side> BUY or SELL
-q, --quantity <n> Quantity
-t, --type <type> Order type (MARKET, LIMIT, SL, SL-M) (default:
"MARKET")
-p, --price <price> Limit price (required for LIMIT and SL)
--trigger-price <price> Trigger price (required for SL and SL-M)
--product <product> Product (CNC, NRML, MIS, MTF) (default: "CNC")
--variety <variety> Variety (regular, amo, co, iceberg, auction)
(default: "regular")
--validity <validity> Validity (DAY, IOC, TTL) (default: "DAY")
--validity-ttl <minutes> Minutes to live, for TTL validity
--disclosed-quantity <n> Disclosed quantity
--iceberg-legs <n> Number of iceberg legs (2-50)
--iceberg-quantity <n> Quantity per iceberg leg
--tag <tag> Custom tag, max 20 alphanumeric characters
-h, --help display help for command
Examples:
$ kite orders place NSE:INFY -s BUY -q 1 --dry-run
Preview the resolved order, send nothing
$ kite orders place NSE:INFY -s BUY -q 10
Market buy, delivery (CNC is the default)
$ kite orders place NSE:INFY -s SELL -q 10 -t LIMIT -p 1650
Limit sell at ₹1,650
$ kite orders place NSE:INFY -s SELL -q 10 -t SL -p 1595 --trigger-price 1600
Stop-loss: triggers at 1600, sells down to 1595
$ kite orders place NSE:TCS -s BUY -q 5 --product MIS
Intraday, squared off by the broker
$ kite orders place NFO:NIFTY25AUGFUT -s BUY -q 75 --product NRML -t LIMIT -p 24500
Futures, carried overnight
$ kite orders place NSE:INFY -s BUY -q 1000 --variety iceberg --iceberg-legs 5 --iceberg-quantity 200
Slice a large order into 5 legs of 200
$ kite orders place NSE:INFY -s BUY -q 10 --variety amo
After-market order for the next session
$ kite orders place NSE:INFY -s BUY -q 10 --tag rebalance
Tag it, so `orders reconcile` can find itkite orders modify
Usage: kite orders modify [options] <order-id>
Modify a pending order
Options:
-q, --quantity <n> New quantity
-p, --price <price> New limit price
--trigger-price <price> New trigger price
-t, --type <type> New order type (MARKET, LIMIT, SL, SL-M)
--validity <validity> New validity (DAY, IOC, TTL)
--variety <variety> Order variety (inferred from the orderbook if
omitted)
-h, --help display help for command
Examples:
$ kite orders modify 250724000123456 -p 1655 Chase the price on a working limit order
$ kite orders modify 250724000123456 -q 5 -p 1650
Change quantity and price together
$ kite orders modify 250724000123456 -t MARKET Give up on the limit and fill at market
$ kite orders modify 250724000123456 --trigger-price 1610
Move a stop-loss triggerkite orders cancel
Usage: kite orders cancel [options] <order-id>
Cancel a pending order
Options:
--variety <variety> Order variety (inferred from the orderbook if omitted)
-h, --help display help for command
Examples:
$ kite orders cancel 250724000123456
Cancel one working order
$ kite orders cancel 250724000123456 --variety amo
When the variety cannot be inferred
$ kite orders list --open --json | jq -r '.[].order_id' | xargs -n1 kite orders cancel -y
Cancel everything still workingkite trades
Usage: kite trades [options]
Show today's executed trades
Options:
-h, --help display help for command
Examples:
$ kite trades Every fill today, with price and time
$ kite trades --json | jq '[.[].quantity] | add'
Total quantity traded todaykite gtt
Usage: kite gtt [options] [command]
Manage Good Till Triggered orders
Options:
-h, --help display help for command
Commands:
list [options] Show your GTT triggers
get <id> Show one GTT trigger in detail
place [options] <instrument> Create a GTT trigger
delete <id> Delete a GTT trigger
help [command] display help for command
Examples:
$ kite gtt Your standing triggers
$ kite gtt place NSE:INFY -s SELL -q 10 --trigger 1400 --price 1395
A single-leg stop, valid for a year
$ kite gtt place NSE:INFY -s SELL -q 10 --stoploss 1400 --target 1800 -t MARKET
An OCO: whichever leg fires first cancels the other
$ kite gtt delete 123456 Remove a triggerkite gtt list
Usage: kite gtt list [options]
Show your GTT triggers
Options:
--active Show only active triggers
-h, --help display help for command
Examples:
$ kite gtt Every trigger, including triggered and cancelled ones
$ kite gtt list --active Only triggers still waiting
$ kite gtt list --active --json | jq -r '.[].id'
Trigger ids, for scriptingkite gtt get
Usage: kite gtt get [options] <id>
Show one GTT trigger in detail
Options:
-h, --help display help for command
Examples:
$ kite gtt get 123456 Both legs, their triggers, and the current status
$ kite gtt get 123456 --json The raw trigger as Kite stores itkite gtt place
Usage: kite gtt place [options] <instrument>
Create a GTT trigger
Arguments:
instrument Instrument as EXCHANGE:SYMBOL
Options:
-s, --side <side> BUY or SELL
-q, --quantity <n> Quantity
--trigger <price> Trigger price for a single-leg GTT (default: [])
--price <price> Limit price for a single-leg GTT
--stoploss <price|pct%> An OCO's stoploss trigger, as a price or a distance
from the last price
--target <price|pct%> An OCO's target trigger, as a price or a distance
from the last price
--stoploss-price <price> Limit price for the OCO's stoploss leg
--target-price <price> Limit price for the OCO's target leg
-t, --order-type <type> Order type placed when a trigger fires (LIMIT,
MARKET)
--product <product> Product (CNC, NRML, MIS, MTF); required on a
derivatives exchange
--last-price <price> Reference price for percentage triggers and the
leg-direction check; never sent to Kite
-h, --help display help for command
A GTT is either single-leg (--trigger, one --price) or an OCO (--stoploss and
--target, priced with --stoploss-price and --target-price). The two shapes never
mix, and for a SELL the stoploss sits below the last price while the target sits
above — pass --last-price to have that checked before anything is created.
Examples:
$ kite gtt place NSE:INFY -s SELL -q 10 --trigger 1400 --price 1395
Single leg: trigger at 1400, sell down to 1395
$ kite gtt place NSE:INFY -s BUY -q 10 --trigger 1800 -t MARKET
Single leg at market — no limit price, so the type is explicit
$ kite gtt place NSE:INFY -s SELL -q 10 --stoploss 1400 --target 1800 -t MARKET
OCO at market: stop below, target above
$ kite gtt place NSE:INFY -s SELL -q 10 --stoploss 1400 --stoploss-price 1395 --target 1800 --target-price 1795
OCO with a limit price on each leg
$ kite gtt place NSE:INFY -s SELL -q 10 --stoploss 5% --target 10% --last-price 1650 -t MARKET
Legs as a distance from a reference price
$ kite gtt place NFO:NIFTY25AUGFUT -s SELL -q 75 --trigger 24000 -t MARKET --product NRML
--product is required on a derivatives exchange
$ kite gtt place NSE:INFY -s SELL -q 10 --trigger 1400 --price 1395 --dry-run
Preview without creating itkite gtt delete
Usage: kite gtt delete [options] <id>
Delete a GTT trigger
Options:
-h, --help display help for command
Examples:
$ kite gtt delete 123456 Delete one trigger
$ kite gtt list --active --json | jq -r '.[].id' | xargs -n1 kite gtt delete -y
Clear every active triggerkite alerts
Usage: kite alerts [options] [command]
Manage price alerts
Options:
-h, --help display help for command
Commands:
list [options] Show your alerts
get <uuid> Show one alert in detail
history <uuid> Show an alert's trigger history
create [options] <instrument> Create a price alert
modify [options] <uuid> Modify an existing alert
enable <uuid> Re-enable a disabled alert
disable <uuid> Disable an alert without deleting it
delete <uuid...> Delete one or more alerts
help [command] display help for command
Examples:
$ kite alerts Your alerts and whether they are enabled
$ kite alerts create NSE:INFY -o above --value 1800
Notify when INFY crosses ₹1,800
$ kite alerts disable 5e3c2a1b-... Silence one without deleting it
$ kite alerts history 5e3c2a1b-... When did it fire?kite alerts list
Usage: kite alerts list [options]
Show your alerts
Options:
--enabled Show only enabled alerts
--disabled Show only disabled alerts
-h, --help display help for command
Examples:
$ kite alerts Every alert (list is the default)
$ kite alerts list --enabled Only alerts currently armed
$ kite alerts list --json | jq -r '.[].uuid' Alert ids, for scriptingkite alerts get
Usage: kite alerts get [options] <uuid>
Show one alert in detail
Options:
-h, --help display help for command
Examples:
$ kite alerts get 5e3c2a1b-8f4d-4c2e-9a71-6b0d2f3c8e15
The full condition and any ATO basketkite alerts history
Usage: kite alerts history [options] <uuid>
Show an alert's trigger history
Options:
-h, --help display help for command
Examples:
$ kite alerts history 5e3c2a1b-8f4d-4c2e-9a71-6b0d2f3c8e15
Every time this alert has firedkite alerts create
Usage: kite alerts create [options] <instrument>
Create a price alert
Arguments:
instrument Instrument to watch, as EXCHANGE:SYMBOL (e.g.
INDICES:NIFTY 50)
Options:
-o, --operator <op> Condition: >=, <=, >, <, == (aliases: above,
below, ge, le, gt, lt, eq)
--value <n> Threshold to compare against (a constant)
--rhs-instrument <instrument> Compare against another instrument instead of a
constant
--name <name> Alert name (defaults to a description of the
condition)
--attribute <attribute> Attribute to compare (default:
"LastTradedPrice")
--type <type> simple or ato (ato places an order when it
fires) (default: "simple")
--order <spec> ATO: a basket leg as
EXCHANGE:SYMBOL:SIDE:QTY[:TYPE][:PRICE][:PRODUCT][:VALIDITY][:trigger=<n>].
Repeatable. (default: [])
-s, --side <side> ATO: order side, BUY or SELL (single-order
form)
-q, --quantity <n> ATO: order quantity (single-order form)
--order-type <type> ATO: order type, default MARKET (MARKET, LIMIT,
SL, SL-M) (single-order form)
-p, --price <price> ATO: limit price (single-order form; for
LIMIT/SL)
--trigger-price <price> ATO: trigger price (single-order form; for
SL/SL-M)
--product <product> ATO: product, default CNC (CNC, NRML, MIS, MTF)
(single-order form)
--validity <validity> ATO: validity, default DAY (DAY, IOC, TTL)
(single-order form)
-h, --help display help for command
A simple alert only notifies. An ATO alert places real orders when it fires:
either one order on the watched instrument (-s/-q/--order-type ...) or a basket
of --order legs on any instruments — never both forms at once.
Examples:
$ kite alerts create NSE:INFY -o above --value 1800
Notify when INFY trades above ₹1,800
$ kite alerts create "INDICES:NIFTY 50" -o below --value 24000
Watch an index
$ kite alerts create NSE:INFY -o \>= --value 1800 --name "book profit"
Symbolic operators need escaping in most shells
$ kite alerts create NSE:INFY -o above --rhs-instrument NSE:TCS
Compare two instruments instead of a constant
$ kite alerts create NSE:INFY -o below --value 1500 --type ato -s BUY -q 10
ATO: buy 10 INFY at market when it drops below 1500
$ kite alerts create NSE:INFY -o below --value 1500 --type ato --order-type LIMIT -p 1495 -s BUY -q 10
ATO with a limit price
$ kite alerts create "INDICES:NIFTY 50" -o below --value 24000 --type ato --order NFO:NIFTY25AUGFUT:SELL:75:MARKET:NRML
ATO basket: sell futures off an index level — repeat --order for more legs
$ kite alerts create NSE:INFY -o above --value 1800 --type ato -s SELL -q 10 --dry-run
Preview an ATOkite alerts modify
Usage: kite alerts modify [options] <uuid>
Modify an existing alert
Options:
-o, --operator <op> New condition operator
--value <n> New threshold constant
--name <name> New alert name
-h, --help display help for command
Examples:
$ kite alerts modify 5e3c2a1b-... --value 1900
Move the threshold
$ kite alerts modify 5e3c2a1b-... -o below --value 1500
Flip the condition
$ kite alerts modify 5e3c2a1b-... --name "exit signal"
Rename itkite alerts enable
Usage: kite alerts enable [options] <uuid>
Re-enable a disabled alert
Options:
-h, --help display help for command
Examples:
$ kite alerts enable 5e3c2a1b-... Arm it againkite alerts disable
Usage: kite alerts disable [options] <uuid>
Disable an alert without deleting it
Options:
-h, --help display help for command
Examples:
$ kite alerts disable 5e3c2a1b-... Keep the alert, stop it firingkite alerts delete
Usage: kite alerts delete [options] <uuid...>
Delete one or more alerts
Arguments:
uuid One or more alert UUIDs
Options:
-h, --help display help for command
Examples:
$ kite alerts delete 5e3c2a1b-... Delete one alert
$ kite alerts delete 5e3c2a1b-... 7d1f4c9a-... Delete several in one call
$ kite alerts list --json | jq -r '.[].uuid' | xargs kite alerts delete -y
Delete every alertkite margins
Usage: kite margins [options] [command]
Calculate order margins and charges (nothing is placed)
Options:
-h, --help display help for command
Commands:
order <orders...> Required margin for each order on its own
basket [options] <orders...> Net margin for a basket of orders, with
spread/hedge benefit
charges <orders...> Itemised charges for a set of executed orders
(virtual contract note)
help [command] display help for command
Examples:
$ kite margins order NFO:NIFTY25AUGFUT:BUY:75:MARKET:NRML
What would this cost to carry?
$ kite margins basket <leg> <leg>
What does the hedge save?
$ kite margins charges NSE:INFY:BUY:10:MARKET:CNC:regular:1650
Brokerage and taxes on a fillkite margins order
Usage: kite margins order [options] <orders...>
Required margin for each order on its own
Arguments:
orders Each order is
EXCHANGE:SYMBOL:SIDE:QTY[:TYPE][:PRODUCT][:VARIETY][:PRICE][:trigger=<n>],
e.g. 'NFO:NIFTY25AUGFUT:BUY:75:MARKET:NRML'. Product defaults to
CNC, variety to regular.
Options:
-h, --help display help for command
Examples:
$ kite margins order NSE:INFY:BUY:10
Delivery buy — product defaults to CNC
$ kite margins order NFO:NIFTY25AUGFUT:BUY:75:MARKET:NRML
One futures contract, carried
$ kite margins order NSE:INFY:BUY:10:LIMIT:MIS:regular:1650
Intraday limit order at a stated price
$ kite margins order NFO:NIFTY25AUG24500CE:SELL:75:MARKET:NRML NFO:NIFTY25AUG24700CE:BUY:75:MARKET:NRML
Each leg costed separately (no hedge benefit)kite margins basket
Usage: kite margins basket [options] <orders...>
Net margin for a basket of orders, with spread/hedge benefit
Arguments:
orders Each order is
EXCHANGE:SYMBOL:SIDE:QTY[:TYPE][:PRODUCT][:VARIETY][:PRICE][:trigger=<n>],
e.g. 'NFO:NIFTY25AUGFUT:BUY:75:MARKET:NRML'. Product
defaults to CNC, variety to regular.
Options:
--no-consider-positions Ignore existing positions when netting
-h, --help display help for command
Examples:
$ kite margins basket NFO:NIFTY25AUG24500CE:SELL:75:MARKET:NRML NFO:NIFTY25AUG24700CE:BUY:75:MARKET:NRML
A spread — this is where the hedge benefit shows up
$ kite margins basket NFO:NIFTY25AUGFUT:BUY:75:MARKET:NRML --no-consider-positions
Cost of the basket alone, ignoring what you already holdkite margins charges
Usage: kite margins charges [options] <orders...>
Itemised charges for a set of executed orders (virtual contract note)
Arguments:
orders Each order is
EXCHANGE:SYMBOL:SIDE:QTY[:TYPE][:PRODUCT][:VARIETY][:PRICE][:trigger=<n>],
e.g. 'NFO:NIFTY25AUGFUT:BUY:75:MARKET:NRML'. Product defaults to
CNC, variety to regular. A non-zero price (the execution price) is
required.
Options:
-h, --help display help for command
Examples:
$ kite margins charges NSE:INFY:BUY:10:MARKET:CNC:regular:1650
Brokerage, STT, stamp duty and GST on a delivery buy
$ kite margins charges NSE:INFY:BUY:10:MARKET:MIS:regular:1650 NSE:INFY:SELL:10:MARKET:MIS:regular:1665
Round trip: both sides of an intraday tradekite watch
Usage: kite watch [options] [instruments...]
Stream live quotes in a self-updating table
Arguments:
instruments Instruments to watch, e.g. NSE:INFY NSE:TCS
Options:
--holdings Watch everything in your holdings
--positions Watch your open positions
-m, --mode <mode> Streaming mode: ltp, quote, or full (default: "quote")
--fps <n> Screen repaints per second (default: "4")
--orders Also print live order updates
-h, --help display help for command
Examples:
$ kite watch NSE:INFY NSE:TCS Stream two symbols; Ctrl-C to stop
$ kite watch --holdings Stream everything you hold
$ kite watch --positions --orders Positions, plus order updates as they happen
$ kite watch NSE:INFY -m full Full mode: depth, OI and the day range
$ kite watch --holdings -m ltp --fps 1 Cheapest mode, repainting once a secondkite mcp
Usage: kite mcp [options]
Run a read-only MCP server over stdio for LLM agents (Claude and others)
Options:
-h, --help display help for command
Examples:
$ kite mcp Usually launched by the client, not typed by hand
$ claude mcp add kite -- kite mcp Register the server with Claude Code
$ kite --profile huf mcp Serve a specific accountkite config
Usage: kite config [options] [command]
View and change CLI settings
Options:
-h, --help display help for command
Commands:
show Show the current configuration
set <key> <value> Set a configuration value
unset <key> Remove a configuration value, restoring its default
path Print the paths this CLI reads and writes
help [command] display help for command
Examples:
$ kite config Show the effective configuration
$ kite config set trading.enabled false Kill switch: refuse every order command
$ kite config set trading.maxOrderValue 100000 Refuse any single order above ₹1,00,000
$ kite config path Where config, cache and secrets livekite config show
Usage: kite config show [options]
Show the current configuration
Options:
-h, --help display help for command
Examples:
$ kite config Every setting and its current value (show is the default)
$ kite config show --json Machine-readable configurationkite config set
Usage: kite config set [options] <key> <value>
Set a configuration value
Arguments:
key Dotted key, e.g. trading.maxOrderValue
value
Options:
-h, --help display help for command
Examples:
$ kite config set trading.enabled false Disable trading entirely
$ kite config set trading.maxOrderValue 100000 Cap the value of any single order
$ kite config set trading.strictConfirmAbove 50000
Above this, type the symbol to confirm
$ kite config set output.compact true Borderless tables
$ kite config set output.color never Never colour outputkite config unset
Usage: kite config unset [options] <key>
Remove a configuration value, restoring its default
Options:
-h, --help display help for command
Examples:
$ kite config unset trading.maxOrderValue Remove the per-order cap
$ kite config unset output.color Back to automatic colour detectionkite config path
Usage: kite config path [options]
Print the paths this CLI reads and writes
Options:
-h, --help display help for command
Examples:
$ kite config path Config file, instrument cache and secret store
$ kite config path --json Paths as JSONkite doctor
Usage: kite doctor [options]
Run offline health checks on your configuration, credentials, and session
Options:
-h, --help display help for command
Examples:
$ kite doctor Check config, credentials, session and caches
$ kite doctor --json Machine-readable checks, for a health probe
$ kite --profile huf doctor Check another accountkite completion
Usage: kite completion [options] [shell]
Print a shell completion script for bash, zsh, or fish.
The shell is auto-detected from $SHELL when omitted. Install with, e.g.:
bash kite completion bash >> ~/.bash_completion
zsh kite completion zsh > ~/.zfunc/_kite (with ~/.zfunc on your fpath)
fish kite completion fish > ~/.config/fish/completions/kite.fish
Arguments:
shell Target shell: bash, zsh, or fish
Options:
-h, --help display help for command
Examples:
$ kite completion Print a script for the shell in $SHELL
$ kite completion fish > ~/.config/fish/completions/kite.fish
Install for fish
$ eval "$(kite completion zsh)" Load into the current zsh session