# FAQ

> Short answers to common questions about Comity.

## 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](/docs/admin/security).

## 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](/docs/admin/policies#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`](/docs/admin/policies#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](/docs#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`](/docs/admin/policies#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](/docs/admin/billing#active-developers).

## 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](/docs/troubleshooting#plan-limits).

## Can we self-host?

For Enterprise pilots, yes; see [Self-hosting](/docs/admin/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.
