Skip to main content
CometChat ships two complementary command-line tools:
Despite its package name, @cometchat/skills-cli is the credentials tool — it doesn’t install skills. It provides a cometchat command, so the CLI’s own messages (for example “Run cometchat auth login) use that short form. This page runs it through npx; cometchat auth login and npx @cometchat/skills-cli auth login are the same command. The skills themselves are installed by @cometchat/skills.
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).

Prerequisites

  • Node.js 18+ — both CLIs run through npx.
  • A CometChat accountsign 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>.
  • 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):
config show prints the Auth Key in clear text, with or without --json, and so do config get authKey and provision run --json. Avoid running them while screen-sharing or anywhere 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: with no --ide it installs for Claude Code. See Agent Skills for the supported agents and 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

React Integration

The manual React UI Kit setup, credentials and all

Angular Integration

The manual Angular UI Kit setup, credentials and all

Get your credentials

Open the CometChat dashboard