You don’t need to understand the technical details to use this feature. The configuration examples below are copy-paste ready.
Installation
Install build tools
These tools compile native modules during the Comis installation.
- Ubuntu / Debian
- Fedora / RHEL
- Arch
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
Start the daemon
Browser tool provisioning (optional)
Three flags ship the agent browser tool inline with the install. Off by default; mix and match as your use case demands.| Flag | Adds | Use when |
|---|---|---|
--with-browser | Google Chrome + headless shared libs + a widened systemd sandbox so the daemon can launch a browser. Handles Ubuntu 24.04’s t64-renamed libs and falls back to Google’s official apt repo when the chromium deb isn’t available. | You want the browser tool to work on a fresh host without manually apt installing dependencies. |
--with-xvfb | Implies --with-browser. Adds Xvfb and a comis-xvfb.service companion unit that runs a virtual display on :99; the main unit’s JoinsNamespaceOf=comis-xvfb.service lets the daemon reach the X11 socket despite PrivateTmp=yes. Seeds headless: false in config.yaml. | Hitting sites that detect headless mode itself (BrowserScan, Cloudflare managed, DataDome). |
--with-cloakbrowser | Implies --with-browser. Installs CloakBrowser (stealth Chromium with source-level fingerprint patches) instead of stock Chrome; the daemon auto-detects and uses the cloak binary via findChrome(). Tighter sandbox than the Chrome variant. | Bypassing Cloudflare Turnstile, FingerprintJS, BrowserScan, and Reddit’s secondary fingerprint check. See agent-tools/browser for verified outcomes. |
COMIS_WITH_BROWSER, COMIS_WITH_XVFB, COMIS_WITH_CLOAKBROWSER) work too, useful in CI / non-interactive flows. The installer pre-creates browser profile dirs, seeds a browser: block in config.yaml, and (for --with-xvfb) 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 9 supported platforms.
