Skip to main content
CometChat ships two complementary command-line tools:
The credentials CLI is standalone — use it on its own, in a script, or in CI. It’s a pure dashboard/API client: it authenticates, fetches your app credentials (App ID / Region / Auth Key), and writes a neutral .cometchat/config.json. By design it does not detect your framework, write env files, or generate code, so it stays framework-agnostic and works with any stack. The agent skills are one consumer that can run it for you — but the CLI doesn’t require them.
Both run through npx with no global install, and most commands accept --json for machine-readable output (the exceptions are config set and config path, which print plain text). The credentials CLI’s binary is named cometchat, so its own prompts refer to it that way (for example, “Run cometchat auth login”). It’s the same tool: run it as npx @cometchat/skills-cli <command> (as shown throughout this page), or npm install -g @cometchat/skills-cli once to use the shorter cometchat command directly.

Prerequisites

  • Node.js 18+ — both CLIs run through npx.
  • A CometChat account — sign up free. auth login opens the dashboard in your browser to authenticate.

Credentials CLI — @cometchat/skills-cli

Its only job is authenticating against the CometChat dashboard and fetching your App ID / Region / Auth Key, then writing a neutral .cometchat/config.json that any tool — your own scripts, a CI job, or the agent skills — can read.

Quick start

Authenticate

Opens your browser at the CometChat dashboard for device authentication and stores the bearer token in your OS keychain (falling back to a chmod 600 file).

Provision credentials

Fetches the app’s App ID / Region / Auth Key and writes a neutral .cometchat/config.json, then prints the selected app (✓ App <id> (<region>)) and the config path. Add --json to get the credentials as JSON instead. It writes no framework env file — read config.json and set your framework’s env vars (.env / VITE_ / NEXT_PUBLIC_ …) yourself, or let the agent skills do it. Which app it uses depends on how many your account has:
  • One app — it uses that app.
  • Several apps — it lists them and asks you to pick one, or to enter n to create a new app. This needs an interactive terminal; in a script, use provision list and then provision use --app-id <id> (it prints the Auth Key, so keep its output out of logs).
  • No apps — it exits with an error. Create one first with provision create --name <name>.
Create a new app non-interactively — --name is required, --region and --industry are optional:
The config file provision writes:
.cometchat/config.json contains your Auth Key. The CLI writes it readable by your user only (chmod 600) and adds it to .gitignore for you. If the file is already tracked by git, the CLI warns you — a .gitignore entry doesn’t untrack it, so run git rm --cached .cometchat/config.json and commit. The Auth Key is for development only; in production, mint a per-user auth token on your backend and log in with loginWithAuthToken() instead of shipping the Auth Key to a client.

Manage config

Read and edit the local .cometchat/config.json (credential/app state only):
These commands print the Auth Key in clear text: provision create and provision use (with or without --json), config show (with or without --json), config get authKey, config set authKey, and provision run --json. Avoid running them while screen-sharing, and in scripts or CI, where the output is logged.

Toggle features

Enable or disable app features from the terminal. These commands call the dashboard, so run auth login first: Every features command targets the app in .cometchat/config.json. Pass --app-id <id> to target a different app:
AI features need an OpenAI key before they can run. The key is a required argument — pass it from an environment variable so it doesn’t land in your shell history:

Skills CLI — @cometchat/skills

Installs and manages the AI Agent Skills that let your coding agent build with CometChat.
add doesn’t prompt: it installs the skills for the platform it detects in the current project, for Claude Code unless you pass --ide. See Agent Skills for the supported platforms and agents, their --ide values, --global, and the prompt-driven workflow.

Scripting and CI

auth login is interactive: it opens a browser and waits for you to approve the sign-in, so on a CI runner it times out (TIMEOUT). In CI, skip the dashboard login and write the config straight from your pipeline secrets with config init, which needs no login:
Don’t add --json to config init in CI — its JSON output includes the Auth Key, which would end up in your build logs. Store the App ID, Region, and Auth Key as masked CI secrets.
The commands that call the dashboard — provision and features — need auth login, so run them from your own machine rather than in CI. Everywhere else, most commands support --json (the exceptions are config set and config path, which print plain text). Commands exit non-zero on failure and surface dashboard errors verbatim (for example ACCESS_DENIED, EXPIRED, TIMEOUT, ABORTED), so a broken auth or provisioning step fails the CI job loudly instead of continuing with empty credentials.

Next steps

Agent Skills

Install the skills and build CometChat from natural-language prompts

MCP Integration

Connect CometChat to any Model Context Protocol–compatible agent

Chat & Messaging

Pick a UI Kit or SDK for your platform and set it up by hand

Get your credentials

Open the CometChat dashboard