Profiles
A profile is an isolated config directory (~/.arc/profiles/<name>/) paired with a target agent tool and auth method. Each profile has its own credentials, settings, and environment.
Create
arc create <name>
arc create <name> --tool claude --auth-type oauth
arc create <name> --tool gemini --auth-type api-key
arc create <name> --tool codex --auth-type api-key--tool defaults to claude if omitted. Profile names must be alphanumeric with hyphens, starting with a letter or number, at most 32 characters.
See Authentication for all --auth-type values.
List
arc listDisplays all profiles with their tool, auth type, and active status.
Switch Active Profile
arc use <name>Sets the default profile used by arc launch and the shell wrapper.
Show Details
arc profile show # Active profile
arc profile show <name> # Named profileOutput includes tool, auth type, config directory, and env overrides.
Delete
arc profile delete <name>Removes the profile entry from the registry and deletes the config directory.
Import
arc profile import
arc profile import --name default
arc profile import --name claude-work --from ~/.claude --tool claude
arc profile import --name gemini-work --from ~/.gemini --tool geminiCopies an existing tool config directory into a new ARC profile. The --tool flag defaults to claude and controls which tool-specific files are handled.
Profile Inheritance
Profiles can inherit from a base profile using the inherits field. The resolved profile merges the base config with the child's overrides:
# Base profile with shared settings
arc create base --tool claude --auth-type oauth
# Child profile that inherits and overrides
arc create staging --inherits baseWhen a profile with inherits is launched, ARC runs resolveProfile() to merge:
- Base profile settings (tool, auth, env, launch args)
- Child profile overrides (anything explicitly set)
Workspace Selection
ARC supports per-repository profile auto-selection via arc.json in the project root:
{
"profile": "work",
"adapter": "claude-code",
"hooks": {
"enforcement": "warn"
}
}When you run arc launch inside a directory containing arc.json, the workspace config is applied on top of the active profile. See Configuration for the full schema.
Profile Resolution Order
arc which # Show the resolved profile sourceResolution order:
ARC_PROFILEenv var (if set)- Workspace
arc.json(if present in cwd or parent) - Active profile in
~/.arc/config.json
Status
arc statusShows all profiles with their tool, auth method, and authentication state (authenticated, expired, missing credentials).
Data Layout
~/.arc/
config.json # Profile registry and active profile name
profiles/
<name>/ # Tool config dir (set as CLAUDE_CONFIG_DIR, etc.)
.credentials.json # OAuth tokens
.api-key # Plaintext API key fallback
settings.json # Tool settings
.arc-shared.json # Shared layer sync manifestSee Configuration for the full schema.