integrations
Manage integrations
Manage integrations
## Usage
```
integrations <subcommand> [args...]
```
## Aliases
int
## Subcommands
### integrations list
List your integrations
**Usage:**
```
integrations list
```
**Options:**
- `--json`: output in JSON format
### integrations setup
Set up a service integration
**Usage:**
```
integrations setup <type> [args...]
```
### integrations setup github
Set up GitHub integration
**Usage:**
```
integrations setup github [--list|--verify|-d]
```
**Options:**
- `-d`: disconnect GitHub account
- `--delete`: disconnect GitHub account
- `--list`: list connected GitHub accounts
- `--verify`: verify GitHub connections are working
### integrations setup chatgpt
Set up ChatGPT account access for LLM integrations
**Usage:**
```
integrations setup chatgpt [--name=<account-name>|--list|--verify|-d]
```
**Options:**
- `-d`: disconnect ChatGPT account
- `--delete`: disconnect ChatGPT account
- `--list`: list connected ChatGPT accounts
- `--name`: local ChatGPT account name (default chatgpt)
- `--verify`: verify ChatGPT connections are working
### integrations add
Add a new integration
**Usage:**
```
integrations add <type> --name=<name> [--team] [args...]
```
**Options:**
- `--attach`: attach to a spec (vm:<name>, tag:<name>, or auto:all); can be repeated
- `--bearer`: bearer token (shorthand for --header="Authorization:Bearer TOKEN")
- `--comment`: optional free-form comment stored with the integration
- `--fields`: comma-separated reflection fields to expose (email, integrations, tags, comment, default_port); 'all' exposes every field including ones added in the future; 'none' disables every field
- `--header`: header to inject (e.g. X-Auth:secret)
- `--name`: integration name (required)
- `--no-auth`: create an http-proxy with no injected authentication
- `--peer`: authenticate with a generated API key scoped to the target VM
- `--repository`: GitHub repository in owner/repo format (required for github)
- `--target`: target URL (required for http-proxy)
- `--team`: create as a team integration
### integrations remove
Remove an integration
**Usage:**
```
integrations remove <name> [--team]
```
**Options:**
- `--team`: operate on a team integration
### integrations edit
Edit an integration
**Usage:**
```
integrations edit <name> [--team] [args...]
```
**Options:**
- `--bearer`: bearer token (shorthand for --header="Authorization:Bearer TOKEN")
- `--clear-header`: remove injected header for http-proxy
- `--comment`: free-form comment stored with the integration
- `--fields`: comma-separated reflection fields to expose (email, integrations, tags, comment, default_port); 'all' exposes every field including ones added in the future; 'none' disables every field
- `--header`: header to inject for http-proxy
- `--no-auth`: remove injected authentication for http-proxy
- `--repository`: GitHub repository in owner/repo format
- `--target`: target URL for http-proxy
- `--team`: edit a team integration
- `--webhook-url`: replacement Discord webhook URL
### integrations attach
Attach an integration to a VM, tag, or all VMs
A <spec> controls where the integration is mounted:
vm:<vm-name> attach to a specific VM (personal only)
tag:<tag-name> attach to every VM with the given tag
auto:all attach to all current and future VMs (personal only)
You can attach the same integration multiple times with different specs.
Team integrations only support tag:<tag-name>.
**Usage:**
```
integrations attach <name> <spec> [--team]
```
**Options:**
- `--team`: operate on a team integration
**Examples:**
```
int attach my-mcp vm:dev1
int attach my-mcp tag:production
int attach my-mcp auto:all
int attach shared-mcp tag:production
```
### integrations detach
Detach an integration from a VM, tag, or all VMs
**Usage:**
```
integrations detach <name> <spec> [--team]
```
**Options:**
- `--team`: operate on a team integration
### integrations rename
Rename an integration
**Usage:**
```
integrations rename <name> <new-name> [--team]
```
**Options:**
- `--team`: operate on a team integration