Skip to content

Agent Profiles

Agent profiles define how each AI assistant is launched and what options are available when starting a session. You can customize the built-in profiles or create entirely new ones for any CLI tool.

The easiest way to configure agents is through the WebUI:

  1. Open CACD in your browser
  2. Click the gear icon in the header to open Settings
  3. Select Agents from the sidebar
Screenshot: Settings → Agents panel showing the list of configured agents

From here you can:

  • Edit existing agent configurations
  • Add new custom agents
  • Set the default agent for new sessions
  • Delete agents you don’t use

Each agent profile consists of:

FieldDescription
NameDisplay name shown in the UI
CommandThe CLI executable (e.g., claude, gemini, codex)
KindEither agent (AI assistant) or terminal (plain shell)
DescriptionOptional text explaining what this profile is for
IconVisual identifier - pick from brand icons or generic ones
OptionsConfigurable flags that appear when creating a session

CACD auto-detects and configures these agents during setup:

  • Claude Code - Anthropic’s CLI assistant with YOLO mode, model selection, continue/resume options
  • Gemini CLI - Google’s assistant with model selection
  • Codex CLI - OpenAI’s assistant with model selection
  • Cursor Agent - Cursor’s CLI interface
  • Droid, Kilocode, Opencode - Other CLI assistants
  • Terminal - Plain shell, always available

The real power of agent profiles is custom options. Each option you add becomes a configurable setting when starting a session.

Screenshot: Adding a custom option with flag, type, and default value
FieldPurpose
LabelWhat the user sees (e.g., “YOLO Mode”, “Model”)
CLI FlagThe actual flag passed to the agent (e.g., --dangerously-skip-permissions)
Typeboolean for toggles, string for text/dropdowns
DescriptionHelp text explaining what the option does
DefaultPre-selected value when creating a session
ChoicesFor string type - limit input to specific values
GroupMutual exclusivity - only one option in a group can be selected

Toggle flags on or off. When enabled, the flag is added to the command.

Example: Claude’s YOLO mode

  • Label: YOLO Mode
  • Flag: --dangerously-skip-permissions
  • Type: boolean

When enabled, the session starts with claude --dangerously-skip-permissions.

Create dropdowns for predefined values.

Example: Model selection

  • Label: Model
  • Flag: --model
  • Type: string
  • Choices: sonnet:Sonnet, opus:Opus, haiku:Haiku
  • Default: sonnet

The choices format is value:label - the value goes in the command, the label is shown in the UI.

Free text input that becomes a flag value.

Example: Custom prompt

  • Label: System Prompt
  • Flag: --system-prompt
  • Type: string

Use the Group field to make options mutually exclusive. Only one option in a group can be active.

Example: Claude’s continue/resume modes - you can’t use both at once, so they share a group called resume-mode.

Click Add Agent at the bottom of the agents list.

  1. Name - Give it a clear name
  2. Command - The CLI command to run
  3. Kind - Usually agent unless it’s a plain terminal
  4. Icon - Pick one that makes sense (auto-matched from command if possible)
  5. Options - Add any flags you want to configure

Say you have a project that always needs Claude with specific settings:

  • Name: Claude (Project X)
  • Command: claude
  • Options:
    • Model: opus (default)
    • YOLO Mode: enabled by default
    • Custom flag: --project-dir /path/to/project

Now you can start sessions for this project without reconfiguring each time.

One agent is marked as default - this is pre-selected when creating new sessions. To change it:

  1. Go to SettingsAgents
  2. Find the agent you want as default
  3. Click the star icon or “Set as Default”

Each agent can have a custom icon:

  • Brand icons - Claude, Gemini, etc. have their official icons
  • Generic icons - Terminal, bot, code, etc. - can be colored with your choice

The icon picker shows all available options. For generic icons, you can also pick a custom color.

  • Create focused profiles for specific workflows (e.g., “Claude for Testing”, “Claude for Docs”)
  • Use mutually exclusive groups when options conflict
  • If you frequently switch an agent’s settings, make multiple profiles instead of reconfiguring each time
  • The description field helps when you have many similar profiles