# Troubleshooting

> What to do when Claude asks you to sign in, a tool is refused, a run will not start or cancel, or the connection stops working. Each symptom with its cause and its fix.

Source: https://orbitalaip.com/docs/claude-and-chatgpt/troubleshooting

> [!IMPORTANT] Disclaimer
> Backtest results are hypothetical and do not predict future performance. Nothing here is investment advice: Orbital computes the rules you supplied and recommends nothing. Orbital is not a registered investment adviser or broker-dealer. Costs are as modelled by the chosen cost profile and may differ from live trading.

## Claude asks you to sign in

Orbital's sign-in lasts one hour at a time. Claude may renew it for up to 30 days after the last renewal. After 30 days without one, Orbital refuses the next call and Claude asks you to sign in.

1. **Follow the prompt in Claude**
   
   Your browser opens Orbital's **Connect to Orbital** page. If you are signed out, sign in first; Orbital brings you back.

2. **Check the Workspace and Project pickers**
   
   The connection is bound to the pair you approve, so keep the ones you used before.

3. **Click Approve**
   
   

In Claude Code, run `/mcp`, choose the Orbital server (`orbital-ai` if you added it with the command in [Connect Claude to Orbital](https://orbitalaip.com/docs/claude-and-chatgpt/connecting)) and follow the same steps in your browser. If the sign-in keeps failing, remove the server and add it again.

## "Backtesting is not active in this project"

The message begins "Backtesting is not active in this project" and tells you to turn it on under Settings → Apps in Orbital, then try again. Turn Backtesting on for the connected project under **Settings** → **Apps**, as [Switch an app on or off in a project](https://orbitalaip.com/docs/workspace-and-account/apps#switch-an-app-on-or-off-in-a-project) shows, then ask Claude again; no reconnection is needed.

## A tool needs a permission the connection was not granted

The message names the tool and the scope, so [remove the connection](https://orbitalaip.com/docs/claude-and-chatgpt/connecting#removing-the-connection) and add it again, approving the full list; see [Permissions and refusals](https://orbitalaip.com/docs/claude-and-chatgpt/tools#permissions-and-refusals).

## "Your role in this project cannot change strategies or spend credits"

The message reads "Your role in this project (viewer) cannot change strategies or spend credits." The word in brackets is your project role. Claude can still list and read strategies and results, and estimate a backtest. Creating, editing, building, running and cancelling are refused.

Orbital has four project roles, which the message shows as `project_owner`, `editor`, `member` and `viewer`. The first three may change strategies and run backtests, and a workspace owner or admin may do so in every project. A workspace viewer stays a viewer in every project.

A workspace owner or admin, or the project owner, can change your role through Orbital's API, since Settings has no page for it. The new role applies on Claude's next call, with no reconnection.

## A cancel is refused because the run already finished

Daily runs finish in seconds, often before Claude sends the cancel. Orbital then answers "The run is already completed." If the engine finished while the cancel was in flight, the message begins "The engine already finished this run (completed)" and says the result is importing. There is nothing to undo: ask Claude to read the result, or to run again with the dates you meant.

## "I asked for a 1-minute backtest and my strategy changed"

The bar size is part of the strategy, not of the run. Every **Indicator** node of a Rules strategy carries a **Timeframe** field, and a **Program** node carries a **Decision bar**, both daily by default.

So when you ask for 1-minute bars, Claude changes the nodes and saves the strategy; its next run lands on a new version. The daily version keeps its runs.

To keep both, use the versions: the **Versions** card on the strategy's **Runs** view lists them, and the Run dialog lets you pick the version to test. **Make main** moves main to the version you want; see [Main](https://orbitalaip.com/docs/workflows/runs-and-versions#main). Or ask Claude to create a second strategy under another name.

To test the same rules at several speeds, ask Claude to declare a timeframe parameter on a Rules strategy, so a run sets its indicators' bar size and the strategy stays on one version; see [Parameters a run can vary](https://orbitalaip.com/docs/backtesting/rule-card-strategies#parameters-a-run-can-vary).

## The estimate no longer matches

The message begins "The strategy or its universe changed after the estimate was shown" and asks for a fresh estimate. Claude passed the version and universe from an earlier estimate, and one of them changed since. Nothing was spent: ask Claude to estimate again and to run with the fresh values.

## The run was refused

The refusal reads "this workspace already has N runs in flight — the ceiling is N at a time" or "N runs in the last 24h — the ceiling is N", and the estimate warns first: "N runs are already in flight for this workspace (the ceiling is N); Run will be refused until one finishes." Wait for a run to finish, or ask Claude to cancel one that is still running; the 24-hour ceiling clears on its own. See [The run quota is reached](https://orbitalaip.com/docs/backtesting/troubleshooting#the-run-quota-is-reached).

In a project where backtests spend credits, a run can also be refused with a message that begins "This run is quoted at N credits and N can still be spent", and a workspace owner or admin adds credits in Orbital, not from Claude; see [Backtests](https://orbitalaip.com/docs/workspace-and-account/credits-and-billing#backtests).

## The consent request expired

Orbital's page says **Nothing to connect**: "This connection request has expired or was already used. Start again from ChatGPT or Claude." A request lives 30 minutes and can be decided once. Start again from Claude, or run `/mcp` again in Claude Code, and approve within 30 minutes.

## The connection stopped working after a while

A connection that worked and now fails usually has one of these causes.

- The sign-in lapsed: more than 30 days passed without a renewal, or the connection was removed. Reconnect as in [Connect Claude to Orbital](https://orbitalaip.com/docs/claude-and-chatgpt/connecting).

- The Backtesting app was turned off in the project; [turn it back on](https://orbitalaip.com/docs/claude-and-chatgpt/troubleshooting#backtesting-is-not-active-in-this-project).

- Your project role changed, or you lost access to the project. Ask a workspace owner or admin.

- Too many calls in a short time. Orbital answers "This token has exceeded its request rate. Slow down and retry shortly." or "Too many requests; retry in a minute." Wait a moment and ask again.

## Still stuck

Email [hello@orbitalaip.com](mailto:hello@orbitalaip.com) or ask on [Discord](https://discord.gg/XwmVs84tcd). Send the exact sentence Claude relayed, the tool it was calling, and the run id if there is one.
