Back to The Times of Claw

Running Multiple OpenClaw Profiles: A Power User Guide

Run multiple OpenClaw profiles to separate work, personal, and client CRM workspaces. Complete guide to profile management, switching, and advanced multi-workspace setups.

Mark Rachapoom
Mark Rachapoom
·8 min read
Running Multiple OpenClaw Profiles: A Power User Guide

OpenClaw supports multiple profiles, letting you run separate DenchClaw workspaces for different contexts — work, personal, individual clients, or separate organizations. Each profile gets its own database, config, skills, and agent state. This guide covers everything from basic profile creation to advanced multi-machine setups.

When Multiple Profiles Make Sense#

A single DenchClaw workspace works well for most users. You want multiple profiles when:

  • Client separation: You're a consultant or agency managing CRM data for multiple clients who should never see each other's data
  • Work/personal: Keep your work contacts and personal projects in separate, isolated environments
  • Testing: Develop and test custom Skills in a sandbox profile without touching your production workspace
  • Role separation: Different team members need separate agent configurations and model preferences
  • Compliance requirements: Some industries require data segregation that can't be achieved with a single database

How OpenClaw Profiles Work#

Each profile in OpenClaw is an isolated workspace directory containing:

~/.openclaw-dench/                    # Default workspace (profile: default)
~/.openclaw-dench-work/               # Work profile
~/.openclaw-dench-client-acme/        # Client profile
~/.openclaw-dench-personal/           # Personal profile

Each directory contains:

  • workspace.duckdb — the CRM database for that profile
  • config.json — model settings, API keys, preferences
  • workspace/skills/ — installed Skills (can differ per profile)
  • workspace/docs/ — documents and notes
  • workspace/apps/ — installed apps

There's no shared state between profiles. Completely isolated.

Step 1: Check Your Current Profile#

openclaw profile list

You'll see something like:

● default     ~/.openclaw-dench/workspace        (active)

The bullet marks the active profile.

Step 2: Create a New Profile#

openclaw profile create work

This creates a fresh workspace at ~/.openclaw-dench-work/. The first time you activate it, DenchClaw will run the same initialization as a fresh install — setting up the DuckDB schema, default objects, and empty workspace.

Create as many as you need:

openclaw profile create client-acme
openclaw profile create personal
openclaw profile create sandbox

Step 3: Switch Between Profiles#

openclaw profile use work

This switches your active profile. All subsequent openclaw commands will operate on the work workspace until you switch back.

Verify which profile is active:

openclaw profile list
 
  default     ~/.openclaw-dench/workspace
 work        ~/.openclaw-dench-work/workspace   (active)
  personal    ~/.openclaw-dench-personal/workspace

Switch back to default:

openclaw profile use default

Step 4: Profile-Specific Configuration#

Each profile can have different settings. This is useful for:

  • Different models per client: Use a more powerful model for a high-value client's CRM and a cost-efficient model for internal use
  • Different API keys: Use separate API key budgets per project
  • Different Skills: Install only the Skills relevant to each context

Configure a specific profile without switching to it:

# Set model for the work profile
openclaw profile config work set model anthropic/claude-sonnet-4-5
 
# Set model for personal (local Llama)
openclaw profile config personal set model ollama/llama3.2

Running Multiple Profiles Simultaneously#

OpenClaw can run multiple gateway instances simultaneously on different ports. This lets you access multiple workspaces at the same time:

# Start default profile on port 3000 (standard)
openclaw gateway start --profile default --port 3000
 
# Start work profile on port 3001
openclaw gateway start --profile work --port 3001
 
# Start client profile on port 3002
openclaw gateway start --profile client-acme --port 3002

Then connect your DenchClaw web UI to different ports to access different workspaces.

Quick Profile Aliases#

If you switch profiles frequently, set up shell aliases:

# Add to ~/.zshrc or ~/.bashrc
alias ocw="openclaw profile use work && openclaw"
alias ocp="openclaw profile use personal && openclaw"
alias ocd="openclaw profile use default && openclaw"

Now ocw chat "..." runs a query against your work workspace without a manual profile switch.

Profile Isolation Deep Dive#

Understanding exactly what's isolated and what's shared:

Isolated per profile:

  • DuckDB database (contacts, deals, notes, all CRM data)
  • Installed Skills and their configurations
  • Workspace documents and files
  • Installed apps
  • Schedule/cron configurations
  • Agent memory and session history

Shared across profiles:

  • OpenClaw version and binary
  • CLI installation
  • Plugin configurations (some)
  • Network-level gateway routing rules

This means a Skill installed in your work profile isn't available in your personal profile. Install Skills per-profile:

openclaw profile use work
openclaw skills install crm-analyst
 
openclaw profile use personal
openclaw skills install obsidian

Migrating Data Between Profiles#

Sometimes you want to copy data from one profile to another — say, seeding a client profile with template data from your default workspace.

Export from source profile:

openclaw profile use default
openclaw export --format json --output ~/default-export.json

Import to destination profile:

openclaw profile use client-acme
openclaw import ~/default-export.json

For DuckDB-level operations, you can also work directly:

# Copy specific objects
duckdb ~/.openclaw-dench-work/workspace/workspace.duckdb \
  "ATTACH '~/.openclaw-dench/workspace/workspace.duckdb' AS source; 
   INSERT INTO objects SELECT * FROM source.objects WHERE type = 'template';"

Multi-Machine Profile Sync#

If you want the same profile available on multiple machines (e.g., your MacBook and a Raspberry Pi), you can sync the workspace directory.

Using rsync for periodic sync:

# Sync from MacBook to Pi
rsync -avz ~/.openclaw-dench/workspace/ pi@denchclaw-pi.local:~/.openclaw-dench/workspace/

Using a shared network drive:

# Mount a NAS and point profile there
openclaw profile create shared --path /Volumes/NAS/openclaw-shared

Note: Avoid two machines writing to the same DuckDB file simultaneously — DuckDB doesn't support concurrent multi-process writes. Use one as primary, one as read-only, or implement a sync schedule.

The Client Consulting Setup#

For consultants managing multiple clients, here's a practical multi-profile architecture:

profiles/
├── default/        ← Personal workspace, private notes
├── client-acme/    ← ACME Corp CRM
│   ├── Skills: crm-analyst, research
│   ├── Model: claude-sonnet (powerful for complex client work)
├── client-beta/    ← Beta LLC CRM  
│   ├── Skills: crm-analyst
│   ├── Model: gemini-flash (cost-efficient)
└── sandbox/        ← Testing new Skills, experiments
    ├── Skills: everything
    ├── Model: ollama/llama3.2 (free, no API costs)

This gives you:

  1. Complete data isolation between clients
  2. Per-client model and cost configurations
  3. A sandbox for experimentation that doesn't risk production data
  4. Your own workspace untouched by client work

Automating Profile-Aware Scripts#

For advanced users running scheduled tasks across multiple profiles:

#!/bin/bash
# Run daily summaries for all active client profiles
 
for profile in client-acme client-beta; do
  echo "Running summary for $profile..."
  openclaw --profile $profile chat "Generate today's CRM summary"
done

The --profile flag lets you run commands against any profile without switching the global active profile. This is safe for use in cron jobs where you don't want to change global state.

Profile Naming Conventions#

Consistent naming prevents confusion. Suggested conventions:

  • By client/project: client-companyname, project-projectname
  • By domain: work, personal, research
  • By environment: prod, staging, dev
  • By team member (for shared machines): alice, bob

Profile names become part of the directory path, so keep them lowercase, no spaces, use hyphens.

Backing Up and Restoring Profiles#

Back up all profiles at once:

# Backup everything
tar -czf openclaw-backup-$(date +%Y%m%d).tar.gz \
  ~/.openclaw-dench* 

Restore a specific profile:

tar -xzf openclaw-backup-20260326.tar.gz \
  --strip-components=3 \
  Users/username/.openclaw-dench-work \
  -C ~/.openclaw-dench-work

For DuckDB specifically, use DuckDB's built-in export for more portable backups:

duckdb ~/.openclaw-dench/workspace/workspace.duckdb ".backup ~/backups/default-$(date +%Y%m%d).db"

Troubleshooting#

Profile switch doesn't seem to take effect

Verify with openclaw profile list. If a gateway is running, it may need a restart to pick up the profile change. Run openclaw gateway restart after switching.

"Profile not found" error

List available profiles with openclaw profile list. Profile names are case-sensitive. Verify the profile exists before trying to use it.

Two profiles share unexpected data

Double-check that both profile directories are truly separate. Run openclaw profile list to see the paths — if they point to the same directory, you have an alias, not a separate profile.

Running out of disk space with many profiles

Each profile's DuckDB file starts small but grows with data. Large Skills and document storage can also accumulate. Check sizes with:

du -sh ~/.openclaw-dench*/workspace/workspace.duckdb

Archive inactive profiles to external storage if needed.

FAQ#

Is there a limit on how many profiles I can create?

No hard limit. Each profile is just a directory on your filesystem. Practical limits are disk space and the overhead of managing many contexts.

Can I share a specific Skill across all profiles without installing it multiple times?

Not directly — Skills are currently profile-scoped. A workaround is to symlink a shared skills directory into each profile's skills folder.

Can multiple users on the same machine use separate profiles?

Yes. Each user has their own home directory, and OpenClaw stores profiles in the user's home. As long as users have separate OS accounts, their profiles are fully isolated.

If I delete a profile, does it delete all the CRM data?

Yes. openclaw profile delete profilename removes the entire workspace directory. Always back up before deleting. The CLI will ask for confirmation.

Can I rename a profile?

Not via a direct command currently. To rename, copy the workspace directory to a new location, create a new profile pointing to it, and delete the old one.

Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →

Mark Rachapoom

Written by

Mark Rachapoom

Building the future of AI CRM software.

Continue reading

DENCH

© 2026 DenchHQ · San Francisco, CA