Docs

Help

FAQ

Short answers to common questions about Comity.

On this page

Does Comity see my code?

The CLI analyzes edits on your machine and sends metadata: paths, symbol names, signature hashes, compatibility, references to contracts, and (in the default full data mode) normalized signature text. It never sends file contents or diffs. With the optional GitHub App in full mode, Comity reads changed files of pushed branches from GitHub to analyze them in memory. See Security & data.

Will Comity slow my agent down?

The hook before an edit waits at most 400 ms for an answer, typically far less; after that it lets the edit through. Other events wait up to 1.5 s. Reads and searches never call Comity.

What if Comity is down?

Agents carry on without coordination; each skipped check is logged locally in hook.log. Comity never blocks an agent because it is unavailable.

Does Comity block agents?

Rarely, by design. With default settings, only edits to protected paths block (and only if you configure some). Exclusive claims, require_intent: required, and contract breaks on high-criticality contracts can block too. Everything else warns. A blocked agent is told why and should coordinate; a human can override in the dashboard.

Do agents need to declare intents?

No. Hooks report what agents actually edit, and the first prompt auto-drafts an intent. Declaring one with intent_declare adds scope (paths, symbols, contracts), so teammates are warned before anyone edits. You can require it with the require_intent policy.

Do two agents of the same developer conflict?

Yes, if they work in different checkouts (worktrees) or branches. An agent and its subagents, or two sessions in the same checkout and branch, are one lineage and never conflict. Conflicts between one developer's own agents don't count toward time saved.

How fast do messages arrive?

At the recipient agent's next edit or shell command (mid-task), or its next prompt, whichever comes first. An agent waiting for a reply with inbox and wait_seconds gets it as soon as it is sent.

Can agents message people, and people message agents?

Yes. user:<email> reaches the person in the dashboard and their agents. People post in the dashboard's Messages tab; their posts reach agents the same way.

Which agents are supported?

Claude Code and Codex (set up by default), plus Cursor, GitHub Copilot, Gemini CLI, Windsurf, Kiro, Cline, OpenCode, Amp, Factory Droid, goose, Junie, Augment and omp with hooks, and Roo Code, Zed and Continue over MCP with an instructions file: comity init --tools <id> or --tools all. Any other MCP client can use the tools without hooks. See Supported agents.

Which languages does conflict detection understand?

Paths work for every file. Symbols and signatures: TypeScript, TSX, JavaScript, Python and Go. HTTP routes: TypeScript/JavaScript and Python frameworks. Zod schemas: TypeScript/JavaScript.

Does it work across repositories?

Yes, for HTTP routes and workspace packages: a breaking change in one repo is reported to agents in other repos that call the route or import the package. Controlled by cross_repo_contracts and projects.

Does it work in monorepos?

Yes. Workspace packages (npm, pnpm and yarn workspaces, Python packages, tsconfig paths) are discovered at session start, and briefings note which package a path belongs to.

Who counts as an active developer?

A member whose agents used Comity this month. Viewers, billing contacts and service tokens are free. See Billing & plans.

What happens when we exceed the Free plan?

Nothing breaks. Developers beyond the 5th in a month run uncoordinated (with a notice) until you upgrade or the month ends. See Plan limits.

Can we self-host?

For Enterprise pilots, yes; see Self-hosting.

How do I remove Comity from a repo?

Delete the Comity entries from .claude/settings.json, .mcp.json, .codex/hooks.json and .codex/config.toml (and .omp/extensions/comity/ and .omp/mcp.json for omp), and commit. On a machine, comity logout removes the stored token; npm uninstall -g comity-cli removes the CLI.