Connect Boxline to ChatGPT, Claude and Claude Code
Connect Boxline to ChatGPT, Claude or Claude Code with a Boxline sign-in and no API key. What a connected app can and cannot do, how to disconnect it, and the Boxline plugin.
Connect Boxline to ChatGPT, Claude or Claude Code, and the assistant can use a cloud browser, a shell and files, fetch and search the web, take screenshots, pull data out of pages and crawl sites. You sign in to Boxline in your browser, pick a project and allow it. There is no API key to create or paste.
The assistant talks to Boxline’s hosted MCP server at https://mcp.boxline.dev/mcp. This page is for connecting an app you use. To use an API key instead, or to run the server yourself, read MCP.
Before you start
- You need a Boxline account with a confirmed email address.
- You need a project to connect it to. Projects where you only have the billing role are not offered.
- The app can start sessions, and sessions are billed to that project while they run. See Use it safely.
Connect an app
ChatGPT, Claude and Cowork
Open the app’s settings and add Boxline as a connector. If Boxline is in the app’s directory (see the plugin), choose it. Otherwise add a custom connector, and give it this address:
https://mcp.boxline.dev/mcpThen choose Connect. The menu names differ between the apps and change over time, so look for connectors in the app’s settings. Your plan with the app can limit custom connectors: check the app’s own help.
Claude Code
claude mcp add --transport http boxline https://mcp.boxline.dev/mcpClaude Code opens your browser so you can sign in. If it does not, run /mcp in Claude Code and choose boxline.
Sign in and allow
The same four steps follow in every app:
- Your browser opens Boxline’s sign-in page. Sign in if you are not already.
- Read the app’s name and the address it will send you back to. Boxline shows a Verified mark for apps it knows. For any other app it shows a warning: continue only if you started connecting yourself, from the app.
- Pick the project the app may use. It can reach that one project only, and it acts with your role in it.
- Choose Allow. You go back to the app, and it is connected. Choose Deny, and nothing is connected.
The sign-in link works once, for 10 minutes. If the page says the request expired, go back to the app and connect again.
What a connected app can and cannot do
A connected app acts as you, in the project you picked, with your current role in it. A viewer’s app can read, but anything that changes something is refused, as it would be for the viewer in the console. If you lose your role in the project, the app stops working.
| It can use | It cannot use |
|---|---|
| Browser and shell sessions: create, list, stop, resume and delete them, drive the browser, run commands | API keys |
| The files in a session’s workspace | Billing |
| Fetching pages and searching the web | Organizations and members |
| Screenshots, and extracting data from pages | Saved credentials: passwords and secrets |
| Crawling sites | Webhooks, model keys and account settings |
- The tools it gets. The same tools as the hosted server, without
browser_login,credentials_listand the credential inputs (credentialandfieldonbrowser_type,credentialsonsession_create). This is thedirectorytool set. See all tools. - Saved credentials. To let an assistant use a saved password or secret, connect with an API key instead. A connected app is refused them on purpose.
- Sessions that hold credentials. Some sessions have saved credentials in their shell, because you started them with an API key and
credentials. A connected app can’t run commands, read or write files, use computer-use actions, run plain-English steps (browser_actwith a sentence) or open the terminal in those sessions. A browser profile still works with a connected app, but its linked password is not put in the shell. - If an app asks for more, the API answers
403withoauth_route_forbidden, or withoauth_credentials_refusedwhen the request names a saved credential.
How long a connection lasts
The app never sees your Boxline password, and it does not get an API key. It holds two tokens, and Boxline stores only hashes of them.
| Token | Looks like | Lasts |
|---|---|---|
| Access token | bxo_… | 1 hour |
| Refresh token | bxr_… | 30 days from when it was issued. It works once: every refresh gives a new one. |
- The app refreshes the access token by itself, so you do not sign in again every hour.
- A refresh gives the app a new refresh token, so a connection you use keeps going. One you do not use for 30 days expires, and you connect again.
- If an old refresh token is ever used a second time, Boxline ends the whole connection. That protects you if a token leaks. Connect again to continue.
- Changing or resetting your Boxline password disconnects every connected app. Connect again afterwards.
Connected apps
Open Settings → Connected apps in the console to see every app you have connected. The list is yours: other members of your project have their own.
| Column | What it shows |
|---|---|
| App | The name the app gave itself. |
| Project | The project it can use, and its organization. |
| Connected | The day you allowed it. |
| Last used | When the app last used the connection, or Never. |
Choose Disconnect next to an app, then confirm. The connection and every token under it stop working at once at the API. The hosted server can take up to a minute to refuse the app’s requests. To use the app again, connect it again.
Removing Boxline inside the app may not tell Boxline. To be sure a connection is over, also disconnect it here.
Use it safely
- Check who is asking before you choose Allow: the app’s name and the address it sends you back to. A warning means Boxline does not know the app.
- Pick the project with care. The app can use everything in that project that the list above allows, with your role. A project of its own keeps the assistant’s work apart from the rest.
- Web pages can contain text written to mislead a model, and a connected app can run commands and read and write files in its sessions. Do not point it at sessions that are signed in to accounts it does not need.
- Do not paste passwords or API keys into the chat. The model sees everything you type.
- Disconnect apps you no longer use. The Last used column shows which ones those are.
Boxline plugin
Give your AI agents the infrastructure they need: browsers, shells, storage and isolated machines. The Boxline plugin brings that to your assistant in one install: the connection described above, and five skills that tell the assistant how to use it well.
| Skill | What it does |
|---|---|
web-research | Searches the web, reads the best sources as a real browser shows them, and answers with links. |
crawl-site | Reads a whole site or a section of it by following its links, and respects robots.txt. |
scrape | Pulls structured data out of pages as JSON that matches a schema. |
browse | Uses a real cloud browser step by step: open, read, click, type and take screenshots. |
sandbox | Runs code and shell commands in a clean machine with its own disk, instead of on your computer. |
- ChatGPT and Codex, Claude and Cowork. Once the plugin is listed in their directories, find Boxline there and choose Connect. Until then, connect with the address above.
- Claude Code. Add the plugin’s marketplace, then install the plugin:
claude plugin marketplace add Boxline-dev/pluginclaude plugin install boxline@boxlineThe plugin sends each request your assistant makes (a search, an address to open, a click, text to type, a file or a command) to Boxline, which runs it in an isolated machine that is yours alone and sends back the result. Saved passwords and live view links are left out of results. See the privacy policy.
Other ways to connect
You can also connect with an API key, run the server on your computer over stdio, or host it yourself. See MCP. A client developer can read how the sign-in works in MCP setup.
These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.