You don’t need to understand the technical details to use this feature. The configuration examples below are copy-paste ready.
Installation
1
Install Node.js 22
- Ubuntu / Debian
- Fedora / RHEL
- Arch
2
Install build tools
These tools compile native modules during the Comis installation.
- Ubuntu / Debian
- Fedora / RHEL
- Arch
3
Install Comis
4
Run the setup wizard
- Which AI provider? — Choose from Anthropic (Claude), OpenAI (GPT), Google (Gemini), and 8 others. Pick whichever provider you have an API key for.
- Your API key — Paste the API key from your chosen provider. The
wizard stores it securely in
~/.comis/.envand never displays it again. - A name for your agent — Give your agent a name (like “Atlas” or “Helper”), or press Enter to accept the default.
~/.comis/config.yaml— Your agent’s configuration (name, provider, model, gateway settings)~/.comis/.env— Your API key, stored separately for security
5
Start the daemon
6
Open the web dashboard
Open your browser and go to:The web dashboard provides a chat interface where you can talk directly to
your agent. It also shows your agent’s status, memory usage, and
configuration. Type a message and press Enter to start a conversation.
Browser tool provisioning
The agent browser tool ships enabled by default, so the installer provisions its runtime by default too: stock Chrome + headless shared libs, plus Xvfb + a headed companion unit. Provisioning is strictly best-effort — if Chromium or Xvfb can’t install on this host (arm64, locked-down apt, rootless), the install never aborts; the browser tool simply falls back to what’s available (see the fallback note below). Opt out for a minimal footprint, or add the stealth variant, with these flags:Headed provisioning degrades gracefully to headless. Chromium always installs
before Xvfb, and the headed decision keys off ground truth — whether the
Xvfb
binary is actually present — not the flag. So if the Xvfb package or its companion
unit can’t install (e.g. a rootless install can’t register a system unit), the
installer downshifts to headless: it skips the companion unit and seeds
headless: true, and the browser tool works on the installed Chromium. You never
end up configured headed against a display that isn’t there.Run as a regular user, these one-liners ask to re-run themselves with
sudo
and install under a dedicated comis system user — the secure default on
Linux. Pass --no-user (or set COMIS_NO_USER=1) for a current-user install;
non-interactive runs without root require one of the two choices explicitly.COMIS_WITH_BROWSER=0|1 and COMIS_WITH_XVFB=0|1 (both default 1 — set 0 for the opt-outs above), and COMIS_WITH_CLOAKBROWSER=1. The installer pre-creates browser profile dirs, seeds a browser: block in config.yaml, and (when Xvfb installed) enables + starts the companion unit before the main daemon — no manual systemd surgery needed.
Non-Interactive Install
For CI pipelines, scripting, or Docker containers, you can skip the interactive wizard entirely:~/.comis/config.yaml and ~/.comis/.env files without
prompting for input. Replace anthropic with your provider of choice and set
the ANTHROPIC_API_KEY environment variable (or substitute the appropriate
variable for your provider) before running.
The
--accept-risk flag acknowledges that you are providing an API key on the
command line rather than through the interactive prompt. See comis init --help
for all 27 available flags.Common Issues
Permission denied during npm install
Permission denied during npm install
Symptom: Then retry the install:
EACCES: permission denied when running npm install -g comisaiFix: Configure npm to use a directory you own instead of the
system-level global directory:node-gyp build errors
node-gyp build errors
Symptom: Errors mentioning If the problem persists, check that Python 3 is installed and accessible as
node-gyp, gyp ERR!, or make: g++: not found during installation.Cause: Missing build tools required for compiling native modules.Fix: Install the build tools for your distribution (Step 2 above), then
retry:python3. See the Requirements page for the
full list of build dependencies.Port 4766 already in use
Port 4766 already in use
Symptom: The daemon starts but reports that port 4766 is already in use.Diagnose: Find what is using the port:Fix: Either stop the other process, or change the Comis gateway port in
Then restart the daemon:
~/.comis/config.yaml:Daemon starts but no web dashboard
Daemon starts but no web dashboard
Symptom: This checks five categories: config, daemon, gateway, channels, and
workspace. Look for failures in the “gateway” category.Common causes:
comis daemon start succeeds but http://localhost:4766 does
not load in your browser.Diagnose: Run the built-in diagnostic tool:- The gateway is disabled in your config. Make sure
gateway.enabledis not set tofalse. - The gateway is bound to a different host. Check the
gateway.hostsetting in your config file. - A firewall is blocking the port.
Next Steps
Configuration Guide
Customize your agent’s settings, add channels, and fine-tune behavior.
Verification
Run diagnostic checks to confirm everything is working.
Connect a Channel
Add Discord, Telegram, Slack, or any of the 11 supported platforms.
