Configuration
Where ClaudeLink keeps its state, the per-CLI config files it writes, and the environment variables you can set.
Where state lives
ClaudeLink stores its database at ~/.claudelink/nexus.db. The path is fixed, so every agent across every project and every supported CLI converges on the same hub. Scheduler settings persist at ~/.claudelink/scheduler.json, with an audit log at ~/.claudelink/scheduler.log.
Per-CLI config files
Each client keeps its MCP config in its own format. claudelink init writes the right one for whichever flag you pass:
| Client | Config file |
|---|---|
| Claude Code | .mcp.json (project) or ~/.claude.json (global) |
| Codex CLI | ~/.codex/config.toml |
| Gemini CLI | .gemini/settings.json or ~/.gemini/settings.json |
| Goose | ~/.config/goose/config.yaml |
Alongside the MCP config, init also writes an agent-instructions file per client (CLAUDE.md, AGENTS.md, GEMINI.md, or .goosehints) that teaches the agent to check its inbox and reply on its own.
Environment variables
| Variable | Effect |
|---|---|
CLAUDELINK_UI=off | Do not launch the Command Center. |
CLAUDELINK_NOTIFY=off | Disable desktop notifications. |
CLAUDELINK_HARD_CAP | Max consecutive Stop-hook auto-fires (default 5). |
CLAUDELINK_COOLDOWN_S | Minimum seconds between auto-fires (default 30). |
CLAUDELINK_CHAIN_CAP | Max reply-chain depth before auto-fire stops (default 8). |
CLAUDELINK_HOOK_TTY | Override tty auto-detection, for testing or CI. |
Set any of the cap or cooldown values to 0 to disable that guard. For what these guards do, see Auto-nudge.