Account Profiles
Per-project account bindings that control which account and profile directory each harness uses for a project's coding sessions.
Account Profiles let you bind different accounts to different projects. A profile is simply a directory — Scape stores no credentials of its own; each CLI keeps its own auth inside its profile directory. When Scape launches a session, it points the harness at the selected profile directory so the session runs as that account.
Profiles are supported for all three harnesses — Claude Code, Codex, and opencode.
Why use profiles?
- Multiple accounts — switch between personal and work accounts per project.
- Isolated credentials and history — different projects can use different accounts and session histories. (For Claude and Codex the profile also carries per-account settings and MCP registrations; opencode keeps its configuration shared — see below.)
- Team workflows — use a shared team account for one project and your personal account for another.
Setting a profile
The Profiles row appears under each project in the sidebar (icon: a person on a card).
- Click the Profiles row, or right-click the project and choose Profiles…
- The popover opens. If more than one harness is installed, a segmented Claude · Codex · opencode switcher sits at the top — pick the harness you want to configure. (Only installed harnesses are shown; Claude is always present.)
- Pick from the detected accounts, add an alternate, or manage profiles.
Inside the popover for the selected harness you can:
- Select an account — your default account is used automatically; pick a checkmarked alternate to override it for this project.
- Add alternate account… — creates a new profile directory and launches that harness's login flow (
/loginfor Claude,codex login, oropencode auth login) so credentials land in the new profile. - Manage profiles… — opens the Profile Manager.
- Remote by default (Claude only) — see below.
Where profiles live
Each harness stores profiles as sibling directories in your home folder and is spawned with a different environment variable:
| Harness | Profile directory | Spawned via | Account label |
|---|---|---|---|
| Claude Code | ~/.claude-<name> | CLAUDE_CONFIG_DIR | account email |
| Codex | ~/.codex-<name> | CODEX_HOME | account email |
| opencode | ~/.opencode-<name> | XDG_DATA_HOME | directory name |
Your default account is the harness's standard directory (~/.claude, and each CLI's default home for Codex and opencode). Scape discovers alternates by scanning for the ~/.claude-*, ~/.codex-*, and ~/.opencode-* directories.
The Profiles row label
The row label summarizes the accounts resolved across the installed harnesses. A harness contributes an account label once it has two or more detected profiles and its selection is consistent across the project's repos — using your explicit choice, or the default account when you haven't overridden it. Given that:
- A single account label — when exactly one harness contributes a label.
<account> +N— when more than one harness contributes a label.- Profiles — when no harness contributes one (for example a harness with fewer than two detected profiles, or a project whose repos have divergent selections).
In the popover's harness switcher, a dot marks each harness that has an explicit (non-default) account selected for the project.
How it works
When Scape launches a session for a project, it resolves the profile for that session's harness and sets the corresponding environment variable (CLAUDE_CONFIG_DIR, CODEX_HOME, or XDG_DATA_HOME). This determines:
- Account — the credentials the CLI authenticates with.
- Session history — past conversations and context stored in that directory.
- CLI configuration (Claude and Codex) — settings, allowed tools, and MCP registrations. opencode keeps its configuration shared via
XDG_CONFIG_HOME; the profile directory isolates its auth and session data only.
Scope
- Profiles are stored on the project level — each project can use a different profile per harness.
- Worktrees inherit the parent project's profile via canonical repo root resolution.
- Changing a profile applies to all repos in that project.
Remote by default (Claude only)
The Claude tab of the Profiles popover includes a Remote by default toggle. When on, Claude sessions for the project can be driven from claude.ai/code or the Claude mobile app. It requires Pro / Max / Team / Enterprise and a recent Claude Code build; SSH sessions are excluded. Remote Control is a Claude-only capability, so the toggle is hidden for Codex and opencode.