add_to_watchlist
ChatGPTAdd tickers to the user's OptionClaws watchlist (shared with the website and app) when the user asks. Tickers already on it are ignored; tickers OptionClaws has no options data for are not added and come back in notCovered. A watchlist holds at most 200 tickers. Returns the list as saved plus what was added.
analyze_position
ChatGPTPrice an exact position the user describes or holds, leg by leg, on one stock: e.g. 'what does selling the AAPL Nov 20 190/185 put spread look like', 'I own 100 TSLA at $240 and sold the Dec 300 call', 'compare a 1x2 ratio on these strikes'. Up to 8 legs (calls, puts and at most one stock leg, each with side, qty, and for options strike and expiration; get_symbol_details lists the expirations and the strikes near the stock price). Optionally value a leg at the price the user paid, price at the natural bid/ask, and add a what-if: targetPrice and/or targetDate. Returns the cost (debit or credit), max profit and loss, breakevens, the IV-implied chance of profit, expected value, estimated Reg-T margin, per-leg and net greeks, a P&L table at expiration across likely prices, the what-if result, and a link that opens the position in the OptionClaws strategy builder. To find positions instead of pricing given ones, use run_scan_v2, run_custom_scan or optimize_trade. Read-only: it never places trades. Requires an active trial or subscription; it uses no free scans.
cancel_paper_order
ChatGPTCancel one of the user's working practice (paper) orders by its id from list_paper_orders. Only when the user asks to cancel it; tell them which order (symbol, strategy, limit price) you are canceling. A canceled order can't be reopened; place a new one with preview_journal_change instead.
confirm_journal_change
ChatGPTApply a change prepared by preview_journal_change to the user's trade journal. Always show the user the preview and get an explicit yes before calling confirm_journal_change; never confirm on your own. Pass the proposalId (and accept to apply only some of the proposed changes). Practice (paper) orders are placed from a confirmed preview too. Each applied change can be undone with revert_journal_change.
create_saved_scan
ChatGPTSave a scan to the user's OptionClaws account so they can rerun it later here (run_scan_v2 savedScanId) or on the OptionClaws website. Give a name plus either presetId (save a curated idea as-is) or definition (custom criteria, same shape as run_scan_v2's definition; check describe_scan_filters if unsure). Filters the definition leaves out get the web app's defaults for the strategy (and an omitted sort its default sort) unless applyDefaults is false; a preset is never changed. The result returns the definition as saved plus appliedDefaults: tell the user which filters you did not choose were added, and use update_saved_scan removeFilters to delete any. Only save when the user asks to. Each user can keep up to 10 saved scans; at the limit this returns an error, and the user must delete one first (delete_saved_scan).
create_universe_list
ChatGPTCreate a named ticker list in the user's OptionClaws account (separate from the watchlist; shared with the website and app) when the user asks. Tickers OptionClaws has no options data for are not added and come back in notCovered. Names may repeat. A user can have up to 20 lists of up to 200 tickers each; at the limit this returns an error, and the user must delete one first (delete_universe_list). Returns the list with its universe value ("list:<id>") to pass as the universe of run_scan_v2, run_scan, run_preset_scan or create_saved_scan.
delete_saved_scan
ChatGPTPermanently delete one of the user's saved scans by id (from list_saved_scans). Confirm with the user which scan to delete first; this can't be undone. Returns the deleted scan's name and how many remain.
delete_universe_list
ChatGPTDelete one of the user's ticker lists, only when the user asks. list is its universe value from list_universes (e.g. "list:12"); index lists and the watchlist can't be deleted. This can't be undone. Saved scans that used the list stay saved but fail to run until their universe is changed (update_saved_scan).
describe_scan_filters
ChatGPTList the 20+ options strategies OptionClaws can scan (covered calls, cash-secured puts, the wheel, credit and debit spreads, iron condors, strangles, straddles, butterflies, calendars, diagonals/poor man's covered calls, married puts, long calls/puts) and every filter (delta, DTE, IV rank, probability of profit, return, liquidity, earnings and dividend timing, technicals, sector, market cap), sort key, universe and row limit. Call this before run_scan or run_scan_v2 to turn a plain-English trade idea into a valid ScanDefinition. With a strategy, its text also lists the web app's default filters that run_scan, run_scan_v2 and create_saved_scan add for filters you leave unset, and how to remove them.
find_vol_reaction_breaks
ChatGPTScreen for stocks and ETFs whose implied volatility broke its usual reaction to the price move: IV rising with a rally, IV falling in a selloff, IV ignoring a big move, IV jumping on a flat price, or a recent pattern shift. Each symbol is judged against its own last 60 trading days, so a stock whose IV normally rises with the price isn't flagged for doing so. Earnings-driven IV drops and pre-earnings build-ups are excluded. Covers liquid names market-wide by default (average daily option volume of 1,000 or more, price $5 or more), or the user's watchlist. Rows are sorted by how unusual the move was; follow up with get_vol_reaction for details. On the free plan each call uses one free scan.
get_account_status
ChatGPTCheck whether the connected OptionClaws account can run scans: entitlement status (trial/active/lifetime/canceled/expired), plan, and trial or paid-period end date. Use when a scan reports no access or the user asks about their OptionClaws plan.
get_journal_portfolio
ChatGPTThe user's open journaled positions as a portfolio: net delta, gamma, theta and vega, exposure by symbol, sector and expiration, and an estimated margin used. Paid plans only; on a free plan it explains that.
get_journal_stats
ChatGPTHow the user's journaled trades are doing: win rate, realized and unrealized P&L, expectancy, profit factor, drawdown, equity curve and calendar. Paid plans also get breakdowns (by strategy, symbol, days to expiration, tag, playbook, emotion, mistake) and calibration of entry win probabilities versus results. Small samples are noisy; say so when there are few closed trades.
get_journal_trade
ChatGPTOne journal trade in full: legs and fills, current value, notes and tags, breakevens, roll chain, any legs waiting to be settled after expiration, and its recent change history with event ids (use an event id with revert_journal_change to undo that change).
get_symbol_details
ChatGPTAnalyze options on one stock or ETF, for example 'what are NVDA options pricing in' or 'is TSLA IV high right now'. Returns everything OptionClaws has on the symbol: stock price, market cap, beta, dividend and earnings dates, technicals (RSI, ATR, moving averages, 52-week range), IV, IV rank and percentile, option volume, every listed expiration, and the option chain for one expiration (nearest 30 days out by default) near the stock price with bid/ask, IV, delta, gamma, theta, vega, volume and open interest per contract. Requires an active trial or subscription.
get_top_trades
ChatGPTOptionClaws' Top Trades: a short curated list of today's best income trades, one or two per curated idea (high-probability puts, wheel candidates, iron condors, covered calls and more), picked with liquidity and fill guardrails. The same list as optionclaws.com/top-trades. Call this first when the user asks what's good to trade today, wants the best ideas across strategies, or has no specific criteria: it's instant and runs no scan. Optional strategy or presetId narrow the list. Each row is shaped like a run_scan_v2 row plus the presetId it came from; for more trades like one, call run_scan_v2 with that presetId.
get_vol_reaction
ChatGPTHow a stock's implied volatility has been reacting to its price moves (spot-vol), and whether it broke its usual pattern. Use it for questions like 'how has NVDA's IV reacted to the selloff?', 'is TSLA vol behaving normally?', 'did IV rise with the stock?'. For each symbol it returns: the usual reaction fitted over the last 60 trading days (IV points per 1% up day and per 1% down day, correlation, and whether that matches the usual stock pattern of IV rising on selloffs), today so far, the last trading day, 5 and 20 days (price change, IV change, the IV change the usual reaction predicts, and a verdict: in_line, opposite, stronger, muted, or iv_without_price), recent days IV broke its pattern, a 20-day vs 60-day pattern shift, 30-day IV vs 20-day realized volatility, and earnings context (post-earnings IV drops and pre-earnings build-ups are not counted as breaks). Each result has a plain-English headline and summary to relay. Pass symbol, symbols (up to 25), or watchlist=true. To find which stocks broke their pattern, use find_vol_reaction_breaks. On the free plan each call uses one free scan.
get_watchlist
ChatGPTThe user's OptionClaws watchlist: the tickers they follow, shared with the OptionClaws website and app. To scan only these tickers, use run_scan_v2 (or run_scan) with universe "watchlist". Change the list with add_to_watchlist and remove_from_watchlist.
list_journal_accounts
ChatGPTThe user's trade-journal accounts (live and paper) and playbooks (their trading setups with rule checklists), with the ids the other journal tools take as accountId and playbookId. Use it to map "my IRA" or "my wheel playbook" to an id before filtering list_journal_trades, get_journal_stats or get_journal_portfolio, or before logging a trade to an account or playbook. Playbooks are paid plans only.
list_journal_trades
ChatGPTThe user's OptionClaws trade journal: the trades they logged, newest first, with realized P&L for closed trades and current unrealized P&L for open ones. Filter by status, symbol, strategy, tag, playbook, dates, or practice (paper) trades. Use the ids with get_journal_trade and preview_journal_change.
list_paper_orders
ChatGPTThe user's practice (paper) orders placed from the journal: working limit orders waiting to fill, and filled, canceled or expired ones. Each has its legs, order type, limit price, time in force, status, fill price, and the current natural price. Use an order id with cancel_paper_order. New practice orders are placed with preview_journal_change (intent paper_order) and confirm_journal_change.
list_presets
ChatGPTList OptionClaws' curated, ready-to-run options trade ideas, optionally filtered by tag: income (covered calls, cash-secured puts, wheel candidates, iron condors, strangles), dividends, high-probability, technical (oversold/overbought spreads, 52-week highs, below the 200-day), earnings plays, volatility, hedging (married puts), unusual call volume, and advanced setups. Use when the user wants options trade ideas without specifying exact criteria.
list_saved_scans
ChatGPTList the scans the user saved in OptionClaws (id, name, strategy, last updated); the text also lists each scan's filters, marking (default) the ones OptionClaws added automatically from the web defaults when it was saved. Use when the user mentions 'my scan', 'my saved screener' or a scan by name. Delete unwanted filters with update_saved_scan removeFilters.
list_universes
ChatGPTThe user's named ticker lists from OptionClaws (separate from the watchlist), plus any built-in index lists available to them (e.g. "S&P 500® members"; name and ticker count only, the members aren't listed). Each entry has a universe value ("list:<id>" or "index:<id>") to pass as the universe of run_scan_v2, run_scan, run_preset_scan or create_saved_scan to scan only those tickers. Change lists with create_universe_list, update_universe_list and delete_universe_list (or on optionclaws.com). S&P 500® is a registered trademark of S&P Dow Jones Indices LLC. Nasdaq-100® is a registered trademark of Nasdaq, Inc. OptionClaws is not affiliated with or endorsed by either.
open_scanner
ChatGPTOpens the OptionClaws scanner as a full-screen app: pick a curated trade idea, a saved scan or a strategy, adjust filters and review ranked options trades. Opened by the user from the sidebar; takes no arguments.
open_trade_board
ChatGPTOpens the OptionClaws Trade Board beside the conversation: run a curated idea or saved scan and add trades to the chat. Opened by the user from the conversation's side panel; takes no arguments.
preview_journal_change
ChatGPTPrepare a change to the user's OptionClaws trade journal and return a plain-English preview. Nothing is saved. Use when the user says they opened, closed, rolled, or were assigned on a trade, wants to add notes or tags, or wants a practice (paper) order. Give intent (log, close, roll, settle, edit, paper_order) with fields, or just text for free-form like "sold 1 AAPL Dec 20 200 put at 3.10". For close, roll, settle and edit pass tradeId from list_journal_trades; settle uses legId from get_journal_trade. A covered call on shares the user already holds and isn't logging (for example shares bought long ago): log only the short call legs with coveredByHeldShares true, so the stock's P&L stays out of their option stats; with shares bought as part of the trade, add a stock leg instead. The preview runs the same checks as saving, so fix any error it returns before asking the user to confirm. Returns a proposalId and a summary. Always show the user the preview and get an explicit yes before calling confirm_journal_change; never confirm on your own. If the preview is wrong, call this again with corrections. Prices are per share (a 3.10 premium is 310 dollars per contract).
remove_from_watchlist
ChatGPTRemove tickers from the user's OptionClaws watchlist (shared with the website and app) when the user asks. Tickers not on it are ignored. To clear the list, pass every ticker from get_watchlist. Returns the list as saved plus what was removed.
revert_journal_change
ChatGPTUndo one change in the user's trade journal by its event id (from get_journal_trade's events). It can delete or restore data, so tell the user exactly what will be undone (the event's summary) and get an explicit yes first. Only events marked revertible can be undone.
run_custom_scan
ChatGPTFind trades for a position the user describes leg by leg (up to 4 legs: calls, puts and at most one stock leg), when none of the built-in strategies fits: e.g. 'short a 20-delta put and buy the put 2 strikes below, 30-45 DTE, on SPY and QQQ', 'jade lizards on my watchlist', 'a 1x2 call ratio 5% out of the money'. Each option leg picks its expiration by a DTE window or the same expiration as an earlier leg, and its strike by delta (plus or minus a tolerance), by percent from the stock price, or by a width (listed strikes or dollars) from an earlier leg. Covers up to 25 symbols (a watchlist, a symbols: list, or all narrowed by stock filters; the most liquid are kept). Every matching combination is priced: net debit/credit (options only), max profit/loss, breakevens, probability of profit, expected value, return on risk, Reg-T margin where it can be derived, per-leg greeks and position greeks. For built-in strategies (covered calls, spreads, iron condors, ...) use run_scan_v2 instead: it is faster and covers the whole market. To price one exact position, use analyze_position. To save a custom scan, call create_saved_scan with definition {strategy: "custom", universe, legs, and optionally filters, sort and pricing}; rerun it here with savedScanId. Read-only: it never places trades. Requires an active trial or subscription; on the free plan each call uses one free scan.
run_preset_scan
ChatGPTRun a curated trade idea from list_presets (for example covered-call-income, wheel-candidates or iron-condor-core) across the whole market or the user's watchlist and return the best current matching options trades with legs, premium, max profit/loss, breakevens, probability of profit and return. One row per symbol by default, so limit caps symbols, not contracts. Each row's filterValues shows its actual value for every filter and the sort key used. For results past the first page, or per-leg greeks, use run_scan_v2. Requires an active trial or subscription.
run_saved_scan
ChatGPTRe-run one of the user's saved scans (from list_saved_scans) to see which trades match it right now, and return a compact top-N result. Each row's filterValues shows its actual value for every filter and the sort key used. For results past the first page, or per-leg greeks, use run_scan_v2. A saved scan runs exactly as saved (no defaults are added); the text shows its filters, and if it matches nothing while some are marked (default), removing them with update_saved_scan removeFilters may return more. Requires an active trial or subscription.
run_scan
ChatGPTFind options trades that match the user's own criteria, such as 'covered calls on my watchlist paying over 1% a week', '30-45 DTE iron condors with 70%+ probability of profit' or 'cheap LEAPS on semiconductor stocks'. Takes a ScanDefinition (strategy, universe, filters, sort) and returns a compact top-N result. Results collapse to one row per symbol unless definition.onePerSymbol is false, so limit caps symbols, not contracts, in the default case. Each row's filterValues shows its actual value for every filter and the sort key used. For results past the first page, or per-leg greeks, use run_scan_v2. Use describe_scan_filters first if unsure what's valid. Filters you leave out get the web app's defaults for the strategy (a liquidity floor, a DTE window and, for premium-selling strategies, probability and return floors and an earnings exclusion); a watchlist or symbols: universe skips the market-wide ones. The note lists what was added: to remove one, pass that filter as {} (false for a yes/no filter). If nothing matches, the scan is retried with only the liquidity floor, then without defaults, and the note says so. Your sort is used as given. Requires an active trial or subscription.
run_scan_v2
ChatGPTFind and rank options trades from a curated idea (presetId), one of the user's saved scans (savedScanId) or custom criteria (definition), and return one page of ranked results. Best when the user wants more results, per-leg greeks or position greeks. Page with offset (up to rank 500): each result gives nextOffset while more matches exist, so 'show me 10 more' is the same call with offset=nextOffset. Results collapse to one row per symbol unless definition.onePerSymbol is false. Each row has its rank, legs, metrics, filterValues (its value for every filter and the sort key), per-leg quotes and greeks (legDetails) and position greeks (netGreeks). Use describe_scan_filters first if unsure what's valid. For a custom definition, filters you leave out get the web app's defaults for the strategy and an omitted sort gets that strategy's default sort (return on risk for credit strategies, market cap for cash-secured and naked puts, probability of profit for debit strategies); appliedDefaults and the note list what was added. Pass a filter as {} (false for a yes/no filter) to drop it, or applyDefaults=false to add none; a watchlist or symbols: universe skips the market-wide defaults. presetId and savedScanId are never changed. If nothing matches, it retries with only the liquidity floor, then without defaults, and the note says so. Requires an active trial or subscription.
search_symbols
ChatGPTLook up a stock or ETF ticker by company name or partial ticker (for example 'nvidia' or 'SPY') in the OptionClaws symbol universe.
send_feedback
ChatGPTSend the user's feedback to the OptionClaws team: a bug report, a feature request, or a support question. Use it only when the user asks to send feedback, report a problem, request a feature or contact OptionClaws support, or when you offered to pass along their complaint or missing feature and they said yes. Before calling, show the user what you will send and get their OK. Send the user's own words or a faithful summary of them; never send feedback they didn't ask for, and don't add personal details they didn't write. Works on every plan and uses no scans.
update_saved_scan
ChatGPTChange one of the user's saved scans (id from list_saved_scans): rename it (name), replace its definition (definition: same shape as create_saved_scan's, with the same web defaults added for filters it leaves out unless applyDefaults is false), and/or delete filters from it (removeFilters: filter ids). Use removeFilters when a saved scan returns too little: list_saved_scans and run_saved_scan mark filters OptionClaws added automatically as (default), and removing those is usually what the user wants. Only change what the user asked for. Returns the scan and its definition as saved now.
update_universe_list
ChatGPTRename one of the user's ticker lists and/or add or remove tickers, when the user asks. list is its universe value from list_universes (e.g. "list:12"); index lists can't be changed. Give any of name, addSymbols, removeSymbols. Tickers already on the list (or not on it, for removal) are ignored; tickers OptionClaws has no options data for are not added and come back in notCovered. A list holds at most 200 tickers. Returns the list as saved plus what changed.
describe_scan_filters
Claudeget_account_status
Claudelist_presets
Claudelist_saved_scans
Clauderun_preset_scan
Clauderun_saved_scan
Clauderun_scan
Claudesearch_symbols
Claude