# Profiles and setup

> Create reusable profiles with custom system prompts, models, MCP servers, and tool allowlists using clai setup.

Canonical URL: https://www.clai.chat/docs/v0.1/guides/profiles/ · Version: 0.1 · Updated: 2026-10-21

Full site index: https://www.clai.chat/llms.txt

Profiles let you package a model, a system prompt, tool permissions, and MCP servers into a reusable preset that you activate with `-p <profile-name>`.

## Interactive setup wizard

Run `clai setup` (or `clai s`) to launch the interactive configuration TUI:

- `clai setup 0` — Configure text models (`textConfig.json`)
- `clai setup 1` — Configure photo models (`photoConfig.json`)
- `clai setup 2` — Configure video models (`videoConfig.json`)
- `clai setup 3` — Create or edit profiles (`profiles/<name>.json`)
- `clai setup 4` — Configure shell contexts (`shellContexts/<name>.json`)

## Profile file structure

Each profile lives at `~/.config/clai/profiles/<name>.json`:

```json
{
  "model": "claude-sonnet-4-6",
  "mprompt": "You are a security-focused Go code reviewer. Point out race conditions and error handling gaps.",
  "tools": ["rg", "file_tree", "find"],
  "mcpServers": ["github"],
  "save_reply_as_conv": true
}
```

## Using a profile

Pass `-p <name>` to use a profile from `~/.config/clai/profiles/`, or `-pr-path <file>` to load a profile from a project-specific path:

```sh
clai -p reviewer q "Audit internal/chat/handler.go"
clai -pr-path ./.clai/reviewer.json q "Run project review"
```

See [Configuration](/docs/reference/configuration/) for every profile field.
