claude-code icon indicating copy to clipboard operation
claude-code copied to clipboard

Feature request: Claude Code profiles with isolated memory, commands, hooks, and settings

Open PaulRBerg opened this issue 5 months ago • 10 comments

Problem

The Claude Code ecosystem has grown at breakneck speed. There are now dozens of batteries-included frameworks that enhance Claude with powerful context and subagent libraries, e.g.

  • https://github.com/SuperClaude-Org/SuperClaude_Framework
  • https://github.com/wshobson/commands and https://github.com/wshobson/agents
  • https://github.com/wcygan/dotfiles
  • https://github.com/carlrannaberg/claudekit

And many others listed here: https://github.com/hesreallyhim/awesome-claude-code

[!NOTE] These frameworks are incompatible with each other, but users may want to use all of them - different frameworks for different projects.

Solution

Introduce a new profiling feature into Claude Code that lets users configure a specific profile.

A new profiles directory would be added to .claude.

.claude
└── profiles
    ├── claudekit
    │   ├── settings.json
    │   ├── commands/
    │   ├── context/
    │   └── hooks/
    └── superclaude
        ├── settings.json
        ├── agents/
        └── commands/

Then, users would do something like this:

Profile Management Commands

# Set active profile - only commands and hooks from this profile are loaded in Claude Code
claude profile use <profile-name>

# List available profiles
claude profile list

# Create new profile
claude profile create <profile-name>

# Show current profile
claude profile current

# Delete profile
claude profile delete <profile-name>

Profile Structure

Each profile would contain:

  • CLAUDE.md - Profile-specific CLAUDE.md file
  • settings.json - Profile-specific configuration overrides
  • agents/ - Custom agents for this profile
  • commands/ - Custom slash commands
  • hooks/ - Profile-specific hook configurations

All of these profile features will completely override the global features in the root .claude directory, except for the settings.json file.

Settings Hierarchy

Profiles would inherit from global settings but override specific configurations, following Claude Code's existing settings hierarchy:

  1. Command line arguments (highest precedence)
  2. Active profile settings ← New layer
  3. Project-local settings (.claude/settings.local.json)
  4. Shared project settings (.claude/settings.json)
  5. User settings (~/.claude/settings.json) (lowest precedence)

This allows users to seamlessly switch between framework configurations while maintaining project-specific overrides.

PaulRBerg avatar Sep 03 '25 16:09 PaulRBerg

Found 2 possible duplicate issues:

  1. https://github.com/anthropics/claude-code/issues/630
  2. https://github.com/anthropics/claude-code/issues/1985

This issue will be automatically closed as a duplicate in 3 days.

  • If your issue is a duplicate, please close it and 👍 the existing issue instead
  • To prevent auto-closure, add a comment or 👎 this comment

🤖 Generated with Claude Code

github-actions[bot] avatar Sep 03 '25 16:09 github-actions[bot]

I think this, in combination with https://github.com/anthropics/claude-code/issues/6915, will be important to properly scope different tasks while maintaining maximum context availability.

christophercolumbusdog avatar Oct 10 '25 16:10 christophercolumbusdog

This will helps us have more than different marketplaces for different projects(using different profiles)

stanska avatar Nov 14 '25 08:11 stanska

This issue has been inactive for 30 days. If the issue is still occurring, please comment to let us know. Otherwise, this issue will be automatically closed in 30 days for housekeeping purposes.

github-actions[bot] avatar Dec 14 '25 10:12 github-actions[bot]

bump, still important feature

PaulRBerg avatar Dec 16 '25 10:12 PaulRBerg

Codex CLI's profiles is exactly what I had in mind with the feature described in the OP:

Image

PaulRBerg avatar Dec 22 '25 12:12 PaulRBerg