# Benchy in other apps

> Use Benchy from Claude, ChatGPT, the apps on your Mac and your terminal.

Canonical: https://benchy.world/docs/apps-and-cli
Last updated: 2026-10-10

## How they connect [#how-they-connect]

Every app connects by browser sign-in or an API key, tied to one workspace, with the access you grant. Your models on World are reached only when the key or sign-in was granted World. Paid actions use that workspace's Credits.

- **Claude, ChatGPT, Codex, Cursor and Claude Code**: see [Connect your agent](https://benchy.world/docs/connect-your-agent). On chatgpt.com one connection covers Chat and Work; the ChatGPT desktop app and Codex on your computer use that computer's own MCP settings.
- **Blender and Bambu Studio**: on your Mac, Benchy Desktop drives them for renders, modelling steps, slicing and print files, and never changes your own files. See [Blender and other apps](https://benchy.world/docs/desktop#blender).

## Install it [#install]

The `benchy` command installs from a package on benchy.world, not from the npm registry. You need Node, for `npm`, and Bun 1.3 or newer on your `PATH`: npm installs the command and Bun runs it.

shell

```
npm i -g https://benchy.world/cli/benchy-cli-latest.tgz
benchy --version
```

To verify the bytes first, chain the download, the published checksum and the install, so a failed check stops before `npm` runs:

shell

```
curl -fsSLO https://benchy.world/cli/benchy-cli-latest.tgz &&
  curl -fsSL https://benchy.world/cli/benchy-cli-latest.tgz.sha256 | shasum -a 256 -c - &&
  npm i -g ./benchy-cli-latest.tgz
```

Re-run either form to update. Every release also has a fixed path with a `.sha256` beside it, `/cli/benchy-cli-<version>.tgz`, so a script can pin one version. The `benchy-cli` package on npm belongs to someone else; don't install it or give it a key.

The command signs in with an API key. Keep the key in a file only you can read: on a Mac, copy the key when Studio shows it, then run:

shell

```
mkdir -p ~/.config/benchy
(umask 077 && pbpaste > ~/.config/benchy/key)    # after copying the key in Studio
export BENCHY_PAT_FILE="$HOME/.config/benchy/key"
```

The key never appears in a command or your shell history, and `benchy` refuses a key file other accounts can read.

## The command line tool [#cli]

`benchy` works with projects, models on World, canvases and websites from a terminal or a script, in the one workspace its key was made for. Commands are a group, then a verb:

shell

```
benchy whoami                                    # the account this key belongs to
benchy project list                              # the workspace's projects
benchy model list                                # your models on World, whatever their visibility
benchy model upload ./bracket.3mf --title "Wall bracket"
benchy model update <modelId> --visibility public \
  --primary-lens additive --license cc_by --provenance human
benchy model version add <modelId> ./bracket-v2.3mf
benchy canvas list                               # the canvases you own or share
benchy site deploy ./dist --site olive-prints --preview
benchy mcp tools                                 # every tool the server offers
```

An uploaded model is private. Making it public needs its main use, a license and how it was made, as in the `update` line, and it stays unlisted until its file checks pass.

`benchy mcp tools` lists the tools in your key's areas; write tools stay on the list for a Read key, and calling one is refused. `benchy mcp call` calls any tool by name. A website command without `--site` uses the `## Website` section of the folder's [BENCHY.md](https://benchy.world/docs/benchy-md).

> **Help and scripts**
>
> `benchy --help` lists the groups, and `benchy model --help` one group's commands. Add `--json` to any command for one JSON document on stdout. Exit codes: 0 done, 1 usage, 2 key missing or refused, 3 network or server fault worth retrying, 4 Benchy refused the request, 5 a local file problem, 6 a conflict (what the command read has changed; read again and retry).
