[FEATURE] Session profiles / presets — save named configurations of model + permissions + MCP tools

Resolved 💬 3 comments Opened Mar 3, 2026 by JohnGalt017 Closed Mar 3, 2026

Problem

Every time I start a new session, I need to manually switch models, toggle permissions, and ensure the right MCP servers are active. There's no way to save a named configuration and switch between them quickly.

Different tasks require fundamentally different setups:

  • Research/exploration: Opus model, read-only permissions, web search + context7 MCPs
  • Coding: Sonnet, full file permissions, specific language tools
  • Security review: Opus, read-only, restricted permissions

Currently there's no way to express "I want my research setup" without manually reconfiguring each time.

Proposed Solution

Add a profile system that lets users define named presets in ~/.claude/settings.json (or a dedicated profiles.json):

{
  "profiles": {
    "research": {
      "model": "claude-opus-4-6",
      "permissions": { "allow": ["Read", "WebSearch"], "deny": ["Write", "Bash"] },
      "mcpServers": ["context7", "memory-bank"]
    },
    "coding": {
      "model": "claude-sonnet-4-6",
      "permissions": { "allow": ["*"] },
      "mcpServers": ["playwright", "memory-bank"]
    }
  },
  "defaultProfile": "coding"
}

Switch profiles during a session with a slash command:

/profile research
/profile coding
/profile  ← list available profiles

Or at startup:

claude --profile research

Benefits

  • Zero friction switching between task contexts
  • Team consistency — commit profiles to project's .claude/ directory
  • Composable — profiles could extend/override each other
  • Backward compatible — existing sessions work without any profiles defined

Related Issues

  • #6235 (AGENTS.md support) — both solve "context switching overhead"
  • #7328 (MCP Tool Filtering) — profiles could include per-tool enable/disable
  • #6915 (MCP tools scoped to subagents)

Alternatives Considered

  • Manual settings.json editing — too slow, not session-aware
  • Multiple config files — no switching mechanism, no UX
  • CLAUDE.md per directory — solves project context, not tool/permission config

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗