Skip to content
c profile
Edit
On this page

Create, inspect, rename, repair and recoverably delete Claude Code profiles, declare which plan an account is on, and manage their stored tokens; deletion archives the profile through saferm and prints the handle that restores it.

#c profile

create, inspect, rename, delete, and manage Claude Code profiles and their stored tokens

#profile create

run the create-profile wizard in one continuous alt-screen session: prompt for the profile name, config directory and launch options, write the profile directory together with its symlinks into the shared store, then drive an interactive Claude Code OAuth login so the profile is authenticated before you leave. Requires a real terminal, and prints the summary and auth outcome afterwards

Effect: mutating

#Grants

Grants
KindNameReason
proc_mutateauth-loginthe wizard drives an interactive Claude Code OAuth login for the new profile

#profile delete

remove a registered profile: hand its directory to saferm, which archives it (the stored token among it) and then removes it, unlink its shared-store symlinks, drop its options.json registration, and clear any last_config reference in state.json. Prints the archive handle that restores it. Refuses a profile holding a live interactive Claude Code session unless --force-delete (background jobs and daemons do not block it), and takes conversation history only with --force-delete-data. saferm must be installed: without it the deletion would be irreversible, so it is refused rather than performed

Effect: mutating ยท consequential (prompts before running; --approve-consequential skips)

#Flags

Flags
NameShortTypePresenceEnvDescription
--force-delete, --no-force-deleteboolrequireddelete anyway when the profile holds a live interactive Claude Code session (background jobs and daemons never block deletion)
--force-delete-data, --no-force-delete-databoolrequireddelete even when shared-dir names hold REAL data instead of symlinks; this DESTROYS that data (e.g. conversation history)

#Arguments

Arguments
NameTypePresenceDescription
namestrrequiredname of the profile to delete (e.g. work, personal, research)

#Grants

Grants
KindNameReason
proc_mutatearchive-delegationhands the whole profile directory, its stored OAuth token included, to saferm, which archives it and then removes it

#profile show

print a detailed report for one profile: whether its directory exists on disk, whether it is registered or pinned in options.json, the state of its stored token, its resolved configuration and the session data it holds. Inspects default (~/.claude) like any other profile, and exits non-zero when the name matches no directory, registration or token

Effect: read_only

#Arguments

Arguments
NameTypePresenceDescription
namestrrequiredname of the profile to inspect (e.g. work, personal, default)

#profile rename

move a profile to a new name, taking its directory (with the token stored inside it), its options.json registration and its session data with it. Validates that the old name exists, that the new one is free in both the directory tree and the options file, and that it fits the lowercase-letters-digits-hyphens charset. Refuses a profile holding a live interactive Claude Code session, and the reserved name default

Effect: mutating

#Arguments

Arguments
NameTypePresenceDescription
oldstrrequiredcurrent name of the profile to rename (must be an existing, non-running profile)
newstrrequirednew name for the profile (lowercase letters, digits, and hyphens; must be unused)

#profile fix-auth

repair one profile's authentication: strip the session credentials that shadow its stored long-lived token so the token is used again. Says so plainly when there is nothing to repair, and refuses a name with no profile directory behind it

Effect: mutating

#Arguments

Arguments
NameTypePresenceDescription
namestrrequiredname of the profile to repair: its shadowing session credentials are removed

#profile set-plan

declare which plan a profile's Claude account is on, without a prompt. Claude Code resolves its subscription tier from the launch environment and only from there when auth is a stored setup token, so an undeclared profile launches with the tier null and tier-dependent features failing closed. Writes both plan fields into the profile's token entry, leaving the token itself alone; the interactive picker in the create flow and the pre-launch prompt write exactly the same thing

Effect: mutating

#Arguments

Arguments
NameTypePresenceDescription
namestrrequiredname of the profile to declare a plan for (e.g. work, personal)
planstrrequiredthe plan this profile's Claude account is on; each one stores a subscription type and, where Claude Code has one, a rate-limit tier Values: max-20x (Max 20x (subscriptionType=max, rateLimitTier=default_claude_max_20x)), max-5x (Max 5x (subscriptionType=max, rateLimitTier=default_claude_max_5x)), pro (Pro (subscriptionType=pro, no rate-limit tier)), team (Team (subscriptionType=team, rateLimitTier=default_claude_max_5x)), enterprise (Enterprise (subscriptionType=enterprise, no rate-limit tier)).

#profile check-tokens

read every discovered profile's own stored OAuth token and validate each one against the Anthropic API, then print a table of profile name, status and a truncated token preview. The status distinguishes a valid token from an invalid one, an unreachable API and an indeterminate answer, and profiles holding no token are listed too

Effect: read_only

More tools from this site

  • claudestream Drive Claude Code from Python: run it as a subprocess and read its output as typed events, with async and sync sessions, sandbox policies, and tools you define in Python
  • dirstat Fast, single-binary directory statistics CLI: every file under a tree grouped by format, with counts, sizes, and lines of code, as a colored terminal table or as JSON
  • fastware A batteries-included ASGI framework: msgspec JSON, a managed Granian server, dependency injection, SSE, WebSockets, auth, and a test client
  • go-toml-edit Zero-dep TOML editing library for Go with comment preservation
  • howmuchleft The fastest Claude Code statusline: context window, 5-hour, and weekly limit usage as three customizable gradient bars, rendering in about 6 ms
  • orxtra
  • pgdesign
  • predraw Declarative rendering pipeline: describe a scene in JSON and get SVG, PNG and WebP out, with light and dark style tokens, reusable components and text converted to path outlines
  • reposummary Turn a git repository's history into a Markdown journal: pick a time window or revision range and get a readable digest of what changed, optionally narrated by an LLM
  • rlsbl Release orchestration and project scaffolding CLI that bumps versions, validates a structured JSONL changelog, tags only the commit CI verified, and publishes to npm, PyPI, Go and more
  • safegit git wrapper CLI that gives each commit its own temporary index and retries ref updates on conflict, so concurrent agents share one repository
  • saferm Command-line replacement for rm that archives every deletion with a mandatory reason and the context it ran in, so deleted files can be listed, inspected and restored
  • selfdoc Static Site Generator that builds a project's documentation site directly from its source code, so the docs can never drift from the code they describe, with SEO/AEO, first-class blog, search, and cross-project linking built in
  • strictcli
  • stricttest An always-on test-isolation floor: a pytest plugin and a Go env-hygiene module that make a test suite structurally unable to reach real credentials, the real HOME, the network, or the development repository.
  • wesktop A Python framework that turns an ASGI web app into a desktop application, serving it from a local Granian server and displaying it in a native OS window via pywebview
Search