community postAL Developmentcommunity - not Microsoftreviewed - checked by Opus

Swappable Claude Profiles: Per-Project Configs via Container Mounting (Part 3)

Claude Code profiles enable project-specific configurations by mounting host directories as ~/.claude inside containers, allowing separate contexts, instructions, and agents for different work types. The profile system makes it practical to maintain AL development, telemetry investigation, and other specialized contexts without switching tools.

post Stefan Maron

Stefan Maron · 2026-03-16 · 1,116 words · about 5 min

"A profile folder is just a regular directory on your host machine. It contains everything Claude Code normally stores in ~/.claude"

Key points

  • Profile folders contain all Claude Code configuration including CLAUDE.md instructions, custom commands, agents, and plugins mounted as ~/.claude in the container
  • Switching profiles requires only changing one volume mount line in the Docker command, preserving the same container image with completely different configurations
  • Agents and their memory persist in the profile folder, allowing prior context and learned patterns to carry forward across multiple projects using the same profile
  • Skills provide more power than simple commands through frontmatter options like context:fork for isolated subagents and allowed-tools for restricted execution
  • Agent Skills is an open standard adopted across multiple AI coding tools (Claude Code, Cursor, GitHub Copilot, Gemini CLI) making profiles portable between tools

Quotes

  • “A profile folder is just a regular directory on your host machine. It contains everything Claude Code normally stores in ~/.claude” (Defines the simple concept of profiles as portable, self-contained configuration directories)

Context

  • Features: swappable profiles, container mounting, custom commands, agent persistence, skills framework, isolated subagents, context:fork

Source: Stefan Maron, community blog. Summary, key points and quotes are derived (CONTENT-NOTICE.md); read the original for the full text.