How a session flows

Orbital builds and backtests trading strategies on your own rules. Through the Orbital AI connector, Claude reads the authoring guide with get_authoring_guide, saves a strategy with create_strategy, estimates the backtest with estimate_backtest, runs it with run_backtest, and reads the result with get_backtest. For a Program strategy it also builds the program with build_program between saving and estimating.

run_backtest returns a run id at once. Daily runs finish in seconds and intraday runs in minutes. Claude polls get_backtest every 10 to 15 seconds until the status is completed, failed or cancelled. Then it changes the strategy with update_strategy and runs again.

To find a strategy, Claude uses list_strategies, and get_strategy reads one with its versions, recent runs and graph. get_backtest_trades reads a run's trade log, and cancel_backtest cancels a queued or running backtest.

The tools

ToolWhat you can doKind
Strategies
get_authoring_guideReturns the rule-card vocabulary or the Program manual that Claude reads before it writes a strategy.read
create_strategySaves a new strategy from the minimal nodes-and-connections spec and enrols it for backtesting.write
build_programCompiles a Program node's Rust source and stamps the built module on the node as a new version.write
list_strategiesLists the project's strategies with the latest backtest verdict of each.read
get_strategyReads one strategy: its versions, its recent runs, and the graph that update_strategy takes back.read
update_strategyReplaces a strategy's graph with the complete graph Claude sends, saved as a new version. Prior versions are kept.write
Backtests
estimate_backtestPrices a run in credits, checks data coverage and returns the confirm handoff run_backtest takes. Spends nothing.read
run_backtestLaunches a backtest under a run id Claude mints, spends credits, and returns the run id at once.run
get_backtestReturns a run's status and progress while it runs, and its compact verdict once it is done.read
get_backtest_tradesReturns a page of a finished run's trade log, newest first within the page, with the total.read
cancel_backtestCancels a queued or running backtest. A finished run is refused, and a cancelled run cannot be resumed.destructive

Permissions and refusals

The tools reach only the project you connected; to work in another project, connect again. Every refusal comes back in Orbital's own words, and Claude relays it and fixes the arguments rather than retrying unchanged.

Three of the permissions on the consent page govern the tools. Read is always granted.

PermissionOn the consent pageTools
readRead your strategies and backtestsget_authoring_guide, list_strategies, get_strategy, estimate_backtest, get_backtest, get_backtest_trades
writeCreate and edit strategiescreate_strategy, update_strategy, build_program
runRun backtests, which spends creditsrun_backtest, cancel_backtest

A call without its permission is refused. The message names the tool and the permission, and asks Claude to have you reconnect Orbital with it. For example: "run_backtest needs the 'run' scope, which this connection was not granted. Ask the user to reconnect Orbital with it." See Connect Claude to Orbital.

Write and run tools also need a project role that may write: anyone in the project except a viewer, or a workspace owner or admin. A viewer's write or run call is refused with "Your role in this project (viewer) cannot change strategies or spend credits." See the role refusal.

After the scope check and before the role check, every call checks that the Backtesting app is active in the connected project. If it is not, the call is refused with "Backtesting is not active in this project — turn it on under Settings → Apps in Orbital, then try again"; Switch an app on or off in a project shows how.

Some refusals come from the run itself:

  • A period must start before it ends, and starting capital must be at least $100.
  • cost_profile defaults to alpaca_us_equities, a zero-commission US equities broker, and zero is a frictionless research setting; ibkr_pro_tiered and custom are refused. See estimate_backtest and The four profiles.
  • A deployed strategy may not change while that deployment runs; branch it in Orbital and change the branch instead. See What a running deployment locks.
  • A run over the backtest quota, or one the workspace cannot afford, is refused with a message that says why. See The run quota is reached.

The results of list_strategies, get_strategy, estimate_backtest, run_backtest, get_backtest and get_backtest_trades carry the disclaimer at the top of this page, word for word.