> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tilt.now/llms.txt
> Use this file to discover all available pages before exploring further.

# Connected app views

> How Tilt shows a connected app's own view in the chat, which parts of the card come from Tilt, and what Use this view allows.

Some apps you [connect over MCP](/tilt-agent/connect-mcp-server) send their own view along with a tool result. A view is a small interactive page that the app builds, such as a chart with buttons. YCharts is one app that offers views. Tilt shows the view in the chat, inside a card that Tilt draws around it.

The examples on this page use Sample Charts, a made-up app whose chart tool sends a view.

## When a view appears

When Tilt Agent uses a tool from a connected app and the app sends a view with the result, the chat shows a card labelled **Connected app** with the view inside. You don't need to ask for it. A tool call that fails shows no card.

| Where you read the chat | What you see |
| - | - |
| Tilt on the web or the Tilt desktop app | The card with the app's view inside. |
| The same chat after you reload the page or open it again later | The same card. Tilt saves the view with the chat and draws it again. |
| A Tilt Agent session started from another app, such as Claude or ChatGPT, through Tilt's MCP server | The card with the app's name and "The view from Sample Charts can't be shown here." |
| A chat someone shared with you | The same message. Only the person who owns the chat can load its views. |

Tilt Agent can also use connected apps in a [background job](/tilt-agent/background-jobs), but a job shows no views.

## What the app draws and what Tilt draws

Everything inside the frame is the app's own page. The app decides what the page shows and what its buttons do. Tilt draws everything around the frame, so those parts always come from Tilt, whatever the app puts in its page.

<Frame caption="A diagram of a connected app's card, using a made-up app. Only the dashed area comes from the app.">
  <img src="https://mintcdn.com/tilt/RypK4vnn1Iot-NCP/images/tilt-agent/connected-app-view-parts.svg?fit=max&auto=format&n=RypK4vnn1Iot-NCP&q=85&s=1f7f839b6a7fbce50f5ff4f851070b7e" alt="Diagram of a Connected app card titled Get economic chart, from Sample Charts (charts.example.com). Callout 1 marks the header. Callout 2 marks the line 'This view can't act in Sample Charts until you let it' and the Use this view button. Callout 3 marks a dashed area labelled 'The app's own page' holding a line chart and two buttons, Show latest value and Save a note on this chart. Callout 4 marks the line 'You ran Save chart note from Sample Charts' view at 10:58 AM'. Callout 5 marks the Details button." width="580" height="640" data-path="images/tilt-agent/connected-app-view-parts.svg" />
</Frame>

| Part | Drawn by | What it tells you |
| - | - | - |
| 1. The header: **Connected app**, the tool's name, and "From Sample Charts (charts.example.com)" | Tilt | Which app sent the view. The app chooses its own name. The web address is the address of the server you connected, which the app can't change. |
| 2. "This view can't act in Sample Charts until you let it." and **Use this view** | Tilt | Whether the view can use its app's tools through Tilt yet. See [Use this view](#use-this-view). |
| 3. The dashed area | The app | The app's own page: its chart, its numbers, and its buttons. |
| 4. "You ran Save chart note from Sample Charts' view at 10:58 AM" | Tilt | One line for each action the view ran that can change something in the app, whether or not the action succeeded. |
| 5. **Details** | Tilt | The app's name and web address, and the outside sites the view can reach. |

## Use this view

A view shows the result it came with as soon as it loads. Until you select **Use this view**, Tilt refuses the view's requests to use its app's tools or read its app's data. Tilt makes those requests with your connection to the app, so a button that depends on them, such as one that saves a change, doesn't work yet.

**Use this view** covers only what the view asks Tilt to do. As soon as it loads, the view can also contact the outside sites its app lists, which **Details** shows. Those requests don't carry your connection to the app.

Tilt asks because it saves each view with the chat and draws it again every time the chat opens. Without this step, a saved view could use your connection to the app each time you reopened the chat, without you doing anything.

Your choice covers the view as it is drawn now. When Tilt draws the view again, it asks again. That happens after you reload the page, reopen the chat, or select **Reload view** or **Try again** on the card.

After you select **Use this view**, the view can use its app's tools for you. Each action that can change something in the app adds a line under the view, such as "You ran Save chart note from Sample Charts' view at 10:58 AM". Tilt records the line before the action reaches the app, so the line shows that the view ran the action, even if the action then failed. The lines stay with the chat. Actions the app marks as read-only, such as showing the latest value, add no line.

## How Tilt keeps a view apart

* The view runs in a sandboxed frame on tiltmcpcontent.com, a separate domain that Tilt uses only for app views. Each app's views get their own address there, apart from every other app's. Because the view never runs on a Tilt domain, it can't read your Tilt cookies or sign-in, and it can't reach Tilt's servers.
* From your chat, the view gets only the request Tilt Agent sent to the app's tool and the result that came back, plus display settings such as light or dark mode, language, and time zone.
* The view can reach only the outside sites its app lists, and it can reach them as soon as it loads. **Details** shows them.
* The view can use only its own app's tools, never another app's. An app can also keep some of its tools away from its view. Tilt makes each call with your connection, so the view never sees your sign-in to the app.
* The view can't open new windows or pop-ups, download files, or send the Tilt page somewhere else.
* When you disconnect the app, its views stop loading and can't act.

## What Tilt Agent sees

Tilt Agent reads the text and data the app returns with the result. It doesn't see the view itself, so it can tell you the numbers behind a chart but not what the chart looks like. Pictures the app sends are left out of what Tilt Agent reads.

Tilt Agent also doesn't see what you do inside a view. To ask about something you found there, tell Tilt Agent in the chat.

## Not supported yet

* A view sending a message into the chat.
* A view opening a link.
* A view downloading a file.
* A view switching to full screen. Views stay in their card.
* Views built only for ChatGPT's older Apps SDK format. For those apps, Tilt shows no view, and Tilt Agent answers from the app's text and data.

## If a view doesn't show

| Message on the card | What to do |
| - | - |
| "Reconnect Sample Charts in Settings to see this view again." | Open **Settings > Connections** and reconnect the app. |
| "The view from Sample Charts couldn't be loaded." | Select **Try again**. |
| "The view from Sample Charts tried to reload itself, so Tilt stopped it." | Select **Reload view**. |
| "The view from Sample Charts can't be shown here." | Open the chat in Tilt on the web or the Tilt desktop app, signed in as the chat's owner. |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.