Skip to main content

Files and locations

AITrax writes to a set of paths under your home directory. This page lists the client-side paths and what each contains. Server-side paths are out of scope here.

Knowing these paths helps when diagnosing setup problems or reporting an issue. To see which of them exist on your own machine, see Read the path inventory from the command line.

System paths​

System paths are written by aitrax setup system.

The following table lists the core system paths:

PathContentsOS
~/.codetogether/tracker/aitraxNative binary (core build, handles daily tracking)macOS and Linux
%USERPROFILE%\.codetogether\tracker\aitrax.exeNative binary (core build, handles daily tracking)Windows
~/.codetogether/tracker/aitrax-fullFull build (owns setup, token redemption, and diagnostics)macOS and Linux
%USERPROFILE%\.codetogether\tracker\aitrax-full.exeFull build (owns setup, token redemption, and diagnostics)Windows
~/.codetogether/tracker/aitrax-full.etagDownload validator for the full build, so an update re-downloads only a changed binaryAll
~/.codetogether/tracker/aitrax.jsonUser-level configuration: server URL and endpointAll
~/.codetogether/aitrax.jsonlLocal audit log recording binary download, spawn, and handshake failuresmacOS and Linux
%USERPROFILE%\.codetogether\aitrax.jsonlLocal audit log recording binary download, spawn, and handshake failuresWindows
~/.codetogether/tracker/scope-<tenant>.jsonCache of the collection scope the server returned for this tenantAll

The audit log is the most useful attachment when reporting a tracking problem, because it records failure paths that produce no visible error in the IDE. It rotates by size.

Two more paths can appear under ~/.codetogether/tracker/ without aitrax setup system having written them on an on-premises install:

  • repos.json, the registry of worktrees registered for daemon Git observation. It is written when a worktree is registered, and a machine that has completed setup but registered none does not have it. A worktree's entry is removed by aitrax uninstall repo, not by aitrax uninstall system, which is why repos.json does not appear in the system inventory later on this page.
  • box-install.json, the ingest credential for this workstation. On SaaS, aitrax setup system --activation-code <code> writes it while redeeming the code. An on-premises workstation that authenticated with --url does not have it.

A third, mcp/, is a launcher-shim directory that an older tracker created. Setup deletes it rather than writing it, so it is present only until the first run of a current tracker.

Terminal
$ aitrax setup system --url https://ctai.yourcompany.com
aitrax: downloading aitrax-full
aitrax: staged aitrax-full at /home/dev/.codetogether/tracker/aitrax-full (11718948 bytes)
▸ User-level configuration   27 changed
✓ Done · 27 changed, 1 unchanged · 17ms

$ ls ~/.codetogether/tracker/
aitrax  aitrax-full  aitrax-full.etag  aitrax.json

User-level integration files​

aitrax setup system writes configuration for each AI tool that is installed. Only the tools that are present on the workstation receive entries; a missing entry for a tool you do not use is correct, not a failure.

These tables list the surfaces setup owns. To see which of them exist on one particular machine, read the report the tracker itself prints — see Read the path inventory from the command line.

The following table lists the user-level integration files aitrax setup system writes on macOS and Linux:

ToolPathContents
Claude Code~/.claude/settings.jsonManaged hooks entries (SessionStart/SessionEnd), OTEL env block, and the AITrax MCP permission rule
Claude Code CLI~/.claude.jsonUser-level mcpServers.aitrax entry
Claude Code instructions~/.claude/rules/aitrax.mdManaged agent instruction block
Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.json (macOS)User-level mcpServers.aitrax entry
Claude Desktop~/.config/claude/claude_desktop_config.json (Linux)User-level mcpServers.aitrax entry
Cursor~/.cursor/mcp.jsonUser-level mcpServers.aitrax entry
Cursor allowlist~/.cursor/permissions.jsonAITrax entry in the mcpAllowlist auto-run list
Cursor hooks~/.cursor/hooks.jsonUser-level hook entries
VS Code Copilot~/Library/Application Support/Code/User/mcp.json (macOS)User-level servers.aitrax entry
VS Code Copilot~/.config/Code/User/mcp.json (Linux)User-level servers.aitrax entry
VS Code Copilot OTEL~/Library/Application Support/Code/User/settings.json (macOS)github.copilot.chat.otel.* Copilot OTEL settings
VS Code Copilot OTEL~/.config/Code/User/settings.json (Linux)github.copilot.chat.otel.* Copilot OTEL settings
VS Code Copilot Chat instructions~/Library/Application Support/Code/User/prompts/aitrax.instructions.md (macOS), ~/.config/Code/User/prompts/aitrax.instructions.md (Linux)Managed instruction file VS Code Copilot Chat auto-applies
VS Code Copilot Chat instructions (fallback)~/.copilot/instructions/aitrax.instructions.mdSecond copy, read by non-default VS Code profiles, Insiders, VSCodium, and remote-dev setups
JetBrains Copilot~/.config/github-copilot/intellij/mcp.jsonUser-level servers.aitrax entry
Copilot CLI MCP~/.copilot/mcp-config.jsonUser-level mcpServers.aitrax entry
Copilot CLI hooks~/.copilot/hooks/aitrax.jsonUser-level hook entries
Copilot CLI instructions~/.copilot/copilot-instructions.mdManaged agent instruction block
Codex~/.codex/config.tomlmcp_servers.aitrax entry and tool pre-approval
Codex hooks~/.codex/hooks.jsonSessionStart hook entry
Codex instructions~/.codex/AGENTS.mdManaged agent instruction block
Kiro~/.kiro/settings/mcp.jsonUser-level mcpServers.aitrax entry
Kiro steering~/.kiro/steering/aitrax-instructions.mdManaged steering mandate
Kiro permissions~/.kiro/settings/permissions.yamlAITrax entry in the Kiro Trust permissions list
OpenCode~/.config/opencode/opencode.jsonmcpServers.aitrax entry and instruction-file reference
OpenCode instructions~/.config/opencode/aitrax-instructions.mdManaged instruction file
OpenCode plugin~/.config/opencode/plugin/aitrax.jsCorrelation plugin
Native telemetry env~/.config/environment.d/ct-ai-telemetry.conf (Linux), ~/Library/LaunchAgents/ai.codetogether.telemetry.plist (macOS)Managed user-environment entries that export the telemetry settings to every session
Native telemetry shell env.bashrc, .zshrc, .profileManaged shell block exporting the same telemetry settings for interactive shells

If a tool is configured to use a non-default home directory (for example, Codex respects $CODEX_HOME/%CODEX_HOME%, and Copilot CLI respects $COPILOT_HOME/%COPILOT_HOME%), the path resolves relative to that override rather than the user home. The OpenCode paths follow $XDG_CONFIG_HOME the same way.

Setup does not write an [otel] table into ~/.codex/config.toml, and removes one if it finds one — Codex activity is collected through the tracker instead. Setup likewise does not write Kiro's kiroTelemetryConfig.endpoint into Kiro's settings.json (~/Library/Application Support/Kiro/User/settings.json on macOS, ~/.config/Kiro/User/settings.json on Linux, %APPDATA%\Kiro\User\settings.json on Windows), and removes one if it finds one.

Read the path inventory from the command line​

To see what aitrax uninstall system would remove on your machine, run:

aitrax uninstall system --dry-run --verbose

--dry-run reports planned removals without changing anything, and --verbose turns the summary line into the per-file report. Without --verbose, the command prints only the counts. This reflects the actual state of the machine rather than a fixed list, so it stays correct even as tools are added or removed.

Read it as the uninstall plan, not as a complete inventory of what setup wrote. Two files setup writes are absent from it because uninstall does not remove them, and you delete them by hand if you want them gone: Kiro's ~/.kiro/settings/mcp.json entry and the OpenCode plugin at ~/.config/opencode/plugin/aitrax.js.

? marks a path the uninstall would remove. · marks a surface AITrax knows about that is not present on this machine — a tool you do not use, an operating-system-specific path, or a path left behind by an older tracker. The report covers the user-level surfaces; the repository registry is reported by aitrax uninstall repo instead.

Terminal
$ aitrax uninstall system --dry-run --verbose
▸ User-level configuration
  ? ~/.codetogether/tracker/aitrax.json                  AITrax config
  · ~/.codetogether/tracker/box-install.json             box ingest credential
  · ~/.codetogether/tracker/mcp/aitrax                   MCP shim
  · ~/.codetogether/tracker/mcp/aitrax.cmd               MCP shim
  · ~/.codetogether/tracker/mcp/aitrax-health            aitrax-health console
  · ~/.codetogether/tracker/mcp/aitrax-health.cmd        aitrax-health console
  ? ~/.config/claude/claude_desktop_config.json          Claude Desktop MCP
  ? ~/.cursor/mcp.json                                   Cursor MCP
  ? ~/.cursor/permissions.json                           Cursor MCP allowlist
  ? ~/.cursor/hooks.json                                 Cursor hooks
  ? ~/.copilot/hooks/aitrax.json                         Copilot hooks
  ? ~/.config/opencode/opencode.json                     OpenCode instructions ref
  ? ~/.config/opencode/aitrax-instructions.md            OpenCode instructions
  ? ~/.kiro/steering/aitrax-instructions.md              Kiro steering mandate
  ? ~/.kiro/settings/permissions.yaml                    Kiro Trust v2 permissions
  · ~/.config/Kiro/User/settings.json                    Kiro telemetry OTEL
  ? ~/.config/Code/User/mcp.json                         VS Code MCP
  ? ~/.config/Code/User/settings.json                    Copilot OTEL
  ? ~/.config/Code/User/prompts/aitrax.instructions.md   VS Code Copilot Chat instructions
  ? ~/.copilot/instructions/aitrax.instructions.md       VS Code Copilot Chat instructions
  ? ~/.config/github-copilot/intellij/mcp.json           JetBrains Copilot MCP
  · ~/.mcp.json                                          Visual Studio MCP
  ? ~/.copilot/mcp-config.json                           Copilot CLI MCP
  ? ~/.claude.json                                       Claude Code CLI MCP
  ? ~/.codex/config.toml                                 Codex MCP
  ? ~/.codex/hooks.json                                  Codex SessionStart hook
  · ~/.claude/settings.json                              Claude Code telemetry
  ? ~/.claude/settings.json                              Claude hooks
  ? ~/.claude/settings.json                              Claude Code MCP permissions
  · shell env                                            Native telemetry
  · ~/.config/environment.d/ct-ai-telemetry.conf         Native telemetry (user env)
  ? ~/.codetogether/tracker/aitrax                       AITrax cache
  ? ~/.codetogether/tracker/aitrax-full                  AITrax cache
  ? ~/.codetogether/tracker/aitrax-full.etag             AITrax cache
  ? ~/.codex/AGENTS.md                                   agent instructions
  ? ~/.claude/rules/aitrax.md                            agent instructions
  ? ~/.copilot/copilot-instructions.md                   agent instructions

✓ Done · 27 would remove, 10 unchanged · 1ms

A single file appears more than once when setup owns several independent things inside it — ~/.claude/settings.json carries the telemetry block, the hook entries, and the MCP permission rule, and each is removed separately.