# Roo Code: Claude and Codex configuration

> Create a Roo Code OpenAI-compatible profile for the model family and billing mode attached to the key.

> **Always choose Roo's “OpenAI Compatible” provider.** Never choose **OpenAI Codex** or its OAuth login for a ScaleMax key; that provider authenticates against an OpenAI account and does not use the ScaleMax base URL.

## Automatic configuration

**macOS / Linux**

```bash
npm install -g scalemax@latest
scalemax
```

**Windows PowerShell**

```powershell
npm.cmd install -g scalemax@latest
scalemax.cmd
```

Windows PowerShell blocks npm’s .ps1 launchers by default (“running scripts is disabled on this system”), so these commands use the .cmd launcher: npx.cmd, npm.cmd, scalemax.cmd. In Command Prompt you can leave out .cmd.

Select **Roo Code**. The CLI creates ScaleMax import profiles for the installed VS Code extension, detects the key's billing mode and model scope, imports the authenticated context/output limits, and avoids overwriting unrelated Roo profiles. It only selects routes whose authenticated catalog explicitly supports native tools. Import or activate the generated Claude or Codex profile when Roo opens, then run `scalemax doctor`. Setup also applies the [ripgrep fix for recent VS Code versions](https://docs.scalemax.pro/docs/manual-configuration/roo-code#stuck-at-api-request) to the installed extension.

Run `scalemax update` again after changing keys or after ScaleMax publishes new model limits. Roo stores the imported model metadata in its profile, so an old profile does not discover changed limits automatically.

> **Run tasks in Code or Debug mode.** Of Roo Code's built-in modes, only Code and Debug can run terminal commands. Ask mode is read-only and Architect mode can only edit Markdown files, so in those modes Roo answers that terminal tools are not available and the command never runs. Switch the mode selector to **Code** and send the task again — nothing is wrong with your key.

## Manual configuration for Codex models in Roo Code

In VS Code, open Roo Code, select **Settings → API Provider**, and create a profile with these fields:

- **API provider:** OpenAI Compatible
- **API-credit base URL:** `https://api.scalemax.pro/v1`
- **OpenAI token-pack base URL:** `https://api.scalemax.pro/token/v1`
- **API key:** the full key that belongs to the chosen URL
- **Model ID:** enter one exact ID from the list below
- **Streaming:** on
- **Context window:** the positive `context_window` returned by authenticated model discovery
- **Max output tokens:** the positive `max_output_tokens` returned for that exact model
- **Include max output tokens:** on, only after entering the positive maximum above

- `gpt-6.1-sol`
- `gpt-6-sol`
- `gpt-6-luna`
- `gpt-6-astra`
- `gpt-5.6-terra`
- `gpt-5.6-sol`
- `gpt-5.6-luna`

Roo uses its OpenAI-compatible client here. It is not the native Codex CLI or Codex OAuth provider, so Responses-only client behavior may differ.

## DeepSeek V4 Flash compatibility

> **Let `scalemax update` decide from authenticated discovery.** When `deepseek-v4-flash` reports `capabilities.tools=true`, the CLI creates and selects a dedicated ScaleMax DeepSeek profile for Roo. If the active route reports tools disabled, Roo fails closed because its task loop cannot finish safely.

On a text-only route, follow the [Continue for VS Code guide](https://docs.scalemax.pro/docs/manual-configuration/continue) for Chat/Edit. Never force an agent profile by hand when the live model catalog reports `tools=false`.

## Manual configuration for Claude models in Roo Code

Create a separate **OpenAI Compatible** profile with the same switches:

- **API-credit base URL:** `https://api.scalemax.pro/v1`
- **Claude token-pack base URL:** `https://api.scalemax.pro/token/v1`
- **API key:** the full key that belongs to the chosen URL
- **Model ID:** enter one exact Claude ID below
- **Streaming:** on
- **Context window:** use the authenticated `context_window` value for the exact model
- **Max output tokens:** use the positive authenticated `max_output_tokens` value. Claude Opus 5 supports up to `128000`; older entries may publish a lower cap.
- **Include max output tokens:** on, only after entering that positive maximum

- `fable-5`
- `claude-haiku-4-5-20251001`
- `claude-haiku-5-5`
- `claude-opus-4-6`
- `claude-opus-4-7`
- `claude-opus-4-8`
- `claude-opus-5`
- `claude-opus-5-5`
- `claude-sonnet-5`
- `claude-sonnet-5-5`

This is Claude through Roo's OpenAI-compatible adapter. It is not Claude Code's native Anthropic Messages configuration.

## Verify with minimal context

Start a new Roo task, select the ScaleMax profile, disable optional repository context for the first request, and send `Reply with K only.` Confirm the response streams and ends normally. For Codex or Claude profiles, test a read-only file action before enabling writes or terminal commands.

> Roo sends its output limit as `max_completion_tokens`. Never leave an enabled limit blank or set it to `-1`. ScaleMax accepts this current OpenAI-compatible field and returns a clear validation error for an invalid value instead of silently substituting a smaller limit.

## Roo Code stuck at “API Request…” on recent VS Code versions

Roo Code 3.54 (its latest release) looks for VS Code's built-in ripgrep search tool only in folders that newer VS Code releases moved, so every task stops at **API Request…** with `Could not find ripgrep binary` in the developer console, whatever model or provider you choose. Your key and profile are fine.

**macOS / Linux**

```bash
npx scalemax@latest fix-roo
```

**Windows PowerShell**

```powershell
npx.cmd scalemax@latest fix-roo
```

Windows PowerShell blocks npm’s .ps1 launchers by default (“running scripts is disabled on this system”), so these commands use the .cmd launcher: npx.cmd, npm.cmd, scalemax.cmd. In Command Prompt you can leave out .cmd.

Then open the Command Palette and run **Developer: Reload Window**. The command patches only the installed Roo Code extension in your home folder (VS Code, VS Code Insiders, Cursor, Windsurf, VSCodium, Trae, Kiro, and remote SSH/WSL servers), keeps the original next to it as `extension.js.scalemax-orig`, and never changes the VS Code app. `scalemax doctor` lists installs that still need it, and `npx scalemax@latest fix-roo --undo` (Windows PowerShell: `npx.cmd scalemax@latest fix-roo --undo`) restores the original.

### Manual alternative

Copy VS Code's own ripgrep to the folder Roo checks. Inside the VS Code app folder, copy `rg` (`rg.exe` on Windows) from `node_modules.asar.unpacked/@vscode/ripgrep-universal/bin/<platform>-<arch>/` (for example `darwin-arm64`, `linux-x64`, or `win32-x64`) to `node_modules/@vscode/ripgrep/bin/`, creating that folder, then reload the window. The app folder is:

- **macOS:** `/Applications/Visual Studio Code.app/Contents/Resources/app`
- **Windows:** `%LOCALAPPDATA%\Programs\Microsoft VS Code\resources\app`, or the same path inside the versioned subfolder of `Microsoft VS Code`
- **Linux:** `/usr/share/code/resources/app`

**macOS / Linux**

```bash
# macOS on Apple silicon. Intel Mac: darwin-x64. Linux: APP=/usr/share/code/resources/app and linux-x64 or linux-arm64.
APP="/Applications/Visual Studio Code.app/Contents/Resources/app"
mkdir -p "$APP/node_modules/@vscode/ripgrep/bin"
cp "$APP/node_modules.asar.unpacked/@vscode/ripgrep-universal/bin/darwin-arm64/rg" "$APP/node_modules/@vscode/ripgrep/bin/"
```

**Windows PowerShell**

```powershell
# Windows x64 (ARM: win32-arm64). If resources is inside a versioned folder, add that folder to $app.
$app = "$env:LOCALAPPDATA\Programs\Microsoft VS Code\resources\app"
New-Item -ItemType Directory -Force -Path "$app\node_modules\@vscode\ripgrep\bin" | Out-Null
Copy-Item "$app\node_modules.asar.unpacked\@vscode\ripgrep-universal\bin\win32-x64\rg.exe" "$app\node_modules\@vscode\ripgrep\bin\"
```

This changes the VS Code app itself, so it can need administrator rights (on macOS, App Management permission for your terminal) and every VS Code update removes it. Prefer `fix-roo`. Alternatively, use [Cline](https://docs.scalemax.pro/docs/manual-configuration/cline) or Kilo Code instead of Roo Code.

## Keep the profile private

> Do not export or share a Roo profile that contains a real key. A Claude token key, OpenAI token key, and API-credit key cannot be exchanged across their model scopes or billing URLs.
