Skip to content

Support multiple profiles (instances/accounts) #24

Description

@jjuanrivvera99

Is your feature or enhancement related to a problem? Please describe.

The CLI stores a single instance in ~/.chatwoot/config.yaml (base URL + account ID, with the token in the OS keyring). If you work across more than one Chatwoot there's no way to keep them side by side: a self-hosted staging vs production, an agency with several client accounts, or one person who belongs to multiple accounts. The only option today is re-running auth login, which overwrites the saved login every time you switch. internal/config/CLAUDE.md already lists this as a TODO ("Add profile support (multiple saved credentials)").

Describe the solution you'd like

Named profiles, following the CLI's existing noun grammar:

chatwoot auth login --profile staging   # save a second instance
chatwoot profiles                        # list saved profiles
chatwoot profile staging use             # set the default
chatwoot --profile staging convs         # one-off override for one command

Resolution order: --profile flag, then CHATWOOT_PROFILE, then a configured default, then default. Each profile keeps its own token in the keyring. The existing flat config would migrate into a default profile on first load, so current setups keep working with no re-login.

Describe alternatives you've considered

  • Re-running auth login to switch instances (the status quo, loses the previous login each time).
  • CHATWOOT_API_KEY plus -a for the account, but the env var is global, so it can't hold more than one instance at once and still needs the matching base URL.
  • Hand-managed config files or per-shell wrappers, which is the manual version of what profiles would do.

Additional context

I run a few instances and would be glad to open a PR for this if it's a direction you'd accept.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions