devpit

Profiles

Run one CLI as several accounts: a program, arguments and environment.

A profile is an account: the program to run, the arguments to add and the environment to run it with. It is the shape a lot of people already had as a shell function — a claude with seven variables in front of it — with somewhere to keep it.

Making one

In Settings → Providers, press New profile in the Installed list. For most accounts the form is two fields:

Field What it is
Name what you call this account, e.g. GLM
Command what you type in a terminal to start it — an agent such as claude, or a function of your own such as claude-work

A function or alias of your own is run once in your interactive shell, with a stand-in for every agent program, and read back: the agent it starts, the arguments it adds and the variables it sets. Only a function or an alias is run this way; a program or script on your PATH is kept as a program and runs when the profile does.

Details holds the rest, filled in by that reading or by hand:

Field What it is
Agent the CLI it is based on
Program optional. Left empty, the base CLI's own launch line is used
Arguments one line, added to that launch, e.g. --permission-mode bypassPermissions
Config directory, Endpoint, Token, Models Claude Code only: CLAUDE_CONFIG_DIR, ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN, and the models the chat offers instead of Opus, Sonnet and Haiku
Environment name and value pairs, with Add variable and Remove. Called Other variables for Claude Code

Save and it becomes a row of its own in the list. The program runs with these variables set and these arguments added.

Secrets

A variable whose name looks like a secret — anything with TOKEN, KEY, SECRET, PASSWORD or AUTH in it — is drawn as dots, with Show <name> to reveal it. The reveal follows the variable's name and not its row, so removing a row above it cannot slide the reveal onto a different secret.

What devpit handed out this way is taken back out of a run's output before it is stored.

Where a profile is used

  • Default agent, so a new terminal opens that account.
  • The Account field of an agent or session step. A step naming a profile that has gone fails rather than quietly falling back to the default: the difference between two accounts is somebody's bill.
  • The account and model picker in chat. Once a conversation has spoken, its account is fixed.
  • Runs as, the account an orchestrator speaks as. Only a profile based on Claude Code can be one.

A profile can do what its CLI can. One based on Claude Code is driven; one based on any other CLI opens in a terminal and nothing more.

A profile that sets CLAUDE_CONFIG_DIR is a separate installation of the CLI, with its own skills and its own MCP servers — which is why those panes ask which installation you mean. See Skills and MCP.

Removing one

Remove in the editor. It is refused while a board step still names it, and the refusal names the steps and their projects, because "a step uses it" on a machine with six projects says there is a problem without saying where.