Skip to main content

AI connection: what to do when it fails

The connector keeps asking for consent, writes are refused, tools are missing after a plan change, the profile is wrong, ChatGPT will not write, and what each error message means.

Last updated: October 30, 2026

“Unauthorized” or the client asks to reconnect

The access token lasts 1 hour and the refresh token 60 days. Clients refresh silently; if the refresh token has expired, or you removed the connector in Assetli, the client has to go through consent again. That is expected. If it happens every few minutes, the client is not storing the refresh token; reconnect from scratch by removing the connector on both sides.

Some clients register a new OAuth client each time they connect (dynamic client registration). Each registration is a new connector in Assetli’s eyes, so consent is asked again. It is harmless; old connectors without tokens expire on their own. Remove leftovers under the account menu → AI Connection (MCP).

Write tools are not offered to the AI

Which tools a client receives depends on the scope you granted on the consent screen. With Read and write it gets the preview and write tools on every plan; writing itself works only on Premium or Max (the 30-day trial counts), on Free the server refuses them. With only Read it never gets the write tools; remove the connector and connect again choosing Read and write. Exception: a connector added on Free before 30 October 2026 remembers a list without the write tools, so after an upgrade remove it and connect again once (in ChatGPT, refreshing the app in Settings → Apps is enough).

The AI says it does not have the tool, or cannot make the change

Typically on the Free plan or with a read-only connection: you ask it to pair a transfer, create a rule or confirm a balance, and the AI answers that it has no such tool or that the server refused it. That is correct; writing through AI needs the Write scope and a Premium or Max plan. Assetli tells the AI right when it connects (plan, scope and why writing is missing), so it should explain the reason and offer a link where you can make the change yourself.

Read tools return links straight to the action in the web app:

  • a transfer to pair: the transaction with “Pair with a transfer…” already open,
  • transactions: the transaction detail (category, rule, pairing) and the list of uncategorised ones,
  • categorization rules: the Rules tab,
  • an account without new data: editing the account, and the accounts overview with the “Balance is correct” button.

The link opens in the profile currently selected on the web; if the connector is linked to another profile, switch profiles first. The mobile app has the same actions. To write through AI, switch to Premium (a connection with the Read and write scope starts writing right away, without reconnecting), or, if you granted only Read, connect again choosing Read and write.

”This operation requires the write scope”

You granted read-only access. Remove the connector in Assetli and connect again, choosing Read and write on the consent screen.

”Writing and importing over MCP are part of the Premium plan”

Reading is free on every plan; writing needs Premium or Max. Upgrade under the account menu → My plan.

On Free the client sees the write tools (if you granted Read and write), but the server refuses every call, previews (prepare_*) included, so nothing is written. The AI should tell you so once and offer a link where you can make the change yourself in the web app, plus a direct link to switch to Premium (it opens secure checkout after sign-in). After an upgrade to Premium, writing works right away, without reconnecting.

”Missing confirmation_token”, “expired”, “arguments differ from the preview”

Every write requires a token from its preview tool, valid for 10 minutes, bound to the exact values previewed. The messages tell the model what to do: run the preview again, show it to you, and pass the new token. If the model keeps failing here, ask it explicitly to call the preview tool first. This is the server refusing a write that was not previewed; it is not a bug in your connection.

The AI sees the wrong profile, or not all profiles

A connector is bound to the one profile you chose on the consent screen and cannot switch. To use another profile, remove the connector and connect again, choosing the other profile. To use several profiles at once, connect several times and name them differently in the client.

ChatGPT reads but refuses to write

At the time of writing OpenAI allows write-capable custom connectors only on Business, Enterprise and Edu workspaces. On Plus and Pro the write scope you granted in Assetli is not used. This is OpenAI’s restriction; check their documentation for the current state.

Gemini cannot add the connector

In the Gemini app, custom apps can be added only on the web, with a personal Google account, age 18 or over, in the United States, with the app in English and Gemini Apps Activity on. Outside those conditions the option is missing. Gemini CLI and Gemini Enterprise can add the server with the Streamable HTTP transport and OAuth. Steps in Connect Gemini.

”Unknown tool”

The client is using a cached tool list that no longer matches the server, for example after a tool was renamed. Disconnect and reconnect to refresh the list. The same applies when new tools were added and the AI does not know about them.

The connector URL

https://assetli.app/api/mcp, with the Streamable HTTP transport. The server answers JSON-RPC over POST only; it does not offer a server-initiated stream (GET returns 405), and it offers tools only, not resources or prompts.

Checking what happened

Under the account menu → AI Connection (MCP) you see every connector with its scope, and the history of writes made through AI in the currently selected profile: tool, connector, time, result and a summary of the arguments. Reads are not logged.