Documentation

Setup, configuration, and troubleshooting for Commander, the native macOS interface for Claude Code and Codex.

Introduction

Commander is a beautiful native macOS application that provides a powerful interface for agent CLIs like Claude Code and Codex. It combines AI-powered coding assistance with integrated git workflow and seamless project management, all wrapped in a native Mac experience.

Commander connects to your locally installed CLI and helps you run an end-to-end workflow: prompt, review changes, and commit.

Note: This documentation focuses on setup, configuration, and troubleshooting. Feature walkthroughs and screenshots will be expanded over time.

Requirements

To use Commander, you need:

Authentication

Commander doesn't handle authentication directly. It uses your existing CLI installation (Claude Code or Codex), which manages its own authentication.

Commander never sees or stores your API keys. All credentials remain securely managed by your chosen CLI.

Claude Code Authentication

Set up Claude Code by following the instructions at Claude Code documentation.

To authenticate with Claude Code, run the following command in your terminal:

claude

On first run, Claude Code will automatically prompt you to authenticate. This opens a browser window where you can sign in with your Anthropic account or connect via API key. Once authenticated, Commander will automatically use your Claude Code session.

Codex Authentication

Set up Codex by following the instructions at Codex repository.

To authenticate with Codex, run the following command in your terminal:

codex

On first run, Codex will prompt you to authenticate with your OpenAI account. Once authenticated, Commander will automatically use your Codex session.

Configuration

Open Commander's settings via Commander → Settings (or ⌘,) to configure your CLI integration.

CLI Path

Commander needs to know where your CLI (Claude Code or Codex) is installed on your system. By default, it looks in common locations like /opt/homebrew/bin/ (Homebrew on Apple Silicon) or /usr/local/bin/.

  • Detect — Click to automatically find the CLI on your system
  • Manual path — Enter the full path if auto-detection doesn't work

To find your CLI path manually, run one of the following in Terminal:

  • For Claude Code: which claude
  • For Codex: which codex

Environment Variables

You can pass custom environment variables to the CLI process. This is useful for:

  • Setting API keys (e.g., ANTHROPIC_API_KEY for Claude Code or OPENAI_API_KEY for Codex)
  • Configuring proxy settings
  • Custom CLI configuration

Use the + and buttons to add or remove environment variables.

AWS Bedrock (custom model ARNs)

Claude Code can talk to AWS Bedrock by using a Bedrock model ARN (often an inference profile ARN) as the configured model. You can see what your Claude Code CLI uses in ~/.claude/settings.json:

jq -r '.model' ~/.claude/settings.json

Example value:

"arn:aws:bedrock:eu-west-1:xxxxxxxxxxxx:application-inference-profile/yyyyyyyyyyy"

When you launch Claude Code with a Bedrock ARN, it will authenticate with AWS (typically via AWS SSO).

Commander selects the model based on the menu bar dropdown (Sonnet / Opus / Haiku). If you want those selections to route to Bedrock, override the default model identifiers Claude Code uses for each selection by setting these environment variables in Commander:

  • ANTHROPIC_DEFAULT_SONNET_MODEL
  • ANTHROPIC_DEFAULT_OPUS_MODEL
  • ANTHROPIC_DEFAULT_HAIKU_MODEL

Recommended setup:

  1. Copy your Bedrock ARN from ~/.claude/settings.json.
  2. In Commander → Settings → Environment Variables, add ANTHROPIC_DEFAULT_SONNET_MODEL and set it to the ARN.
  3. Select Sonnet in Commander's menu bar model dropdown.

If you also set ANTHROPIC_DEFAULT_OPUS_MODEL and/or ANTHROPIC_DEFAULT_HAIKU_MODEL to the same ARN, you can switch between Sonnet/Opus/Haiku in Commander while still using Bedrock for all of them.

If you see 400 The provided model identifier is invalid., it usually means Commander is still sending a non-Bedrock model identifier; verify the corresponding ANTHROPIC_DEFAULT_*_MODEL variable is set for the model you selected in the menu bar.

Troubleshooting

CLI not found

If Commander can't find your CLI, make sure it's installed and accessible from your terminal:

Authentication issues

If you're having trouble authenticating, run your CLI directly in your terminal to re-authenticate:

  • For Claude Code: Run claude
  • For Codex: Run codex

Commander uses your CLI's authentication, so fixing it in the terminal will fix it in Commander.

Is my code sent to external services?

Commander itself doesn't send any data. However, the CLI you use sends code context to generate responses:

How do I update Commander?

Download the latest version from the download section or install via Homebrew: brew install commander. Commander will notify you when updates are available.

Using AWS Bedrock

If you're using Claude via an AWS Bedrock model ARN, see Configuration → AWS Bedrock (custom model ARNs) for the recommended ANTHROPIC_DEFAULT_*_MODEL environment variable setup.