Project-Level Configuration
Tracing is always configured per-project. Each project traces to its own Infinium agent:
cd /path/to/project-a
infinium-claude init
# Enter Project A's Agent ID and Secret
cd /path/to/project-b
infinium-claude init
# Enter Project B's Agent ID and Secret
| Location | Contents |
|---|---|
.infinium/config.json in project root | Agent ID, base URL |
.claude/settings.json in project root | Hook configuration |
Add
.infinium/to your.gitignoreto keep credentials out of version control.
Resolution Order
When a hook fires, the connector resolves credentials in this order:
- Project config —
.infinium/config.jsonin the working directory - Environment variables — Override project config (for CI/Docker)
Credential Storage
| Data | Storage | Security |
|---|---|---|
| Agent ID | Config file (JSON) | Non-sensitive identifier |
| Agent Secret | OS keyring | Encrypted by the operating system |
| Base URL | Config file (JSON) | Non-sensitive |
The connector never stores your agent secret in a file. It uses the OS keyring:
- Windows: Windows Credential Manager
- macOS: Keychain
- Linux: Secret Service (GNOME Keyring, KDE Wallet)
Updating Credentials
infinium-claude update-credentials
Or pass flags directly:
infinium-claude update-credentials --agent-id "new-id" --agent-secret "new-secret"
Pause and Resume
Temporarily disable tracing without removing your configuration:
# Pause -- hooks stay installed but traces are skipped
infinium-claude pause
# Resume -- traces start sending again
infinium-claude resume
Check current state with infinium-claude status — it shows PAUSED or active.
Environment Variables
All settings can be overridden with environment variables. This is useful for CI/CD, Docker, or headless environments where the interactive wizard can’t run.
Credentials
| Variable | Description | Default |
|---|---|---|
INFINIUM_AGENT_ID | Agent ID | From config file |
INFINIUM_AGENT_SECRET | Agent secret | From OS keyring |
INFINIUM_BASE_URL | API base URL | https://platform.i42m.ai/api/v1 |
Connector Behavior
| Variable | Description | Default |
|---|---|---|
CONNECTOR_QUIET | Suppress output (true/false) | false |
CONNECTOR_FLUSH_ON_STOP | Send trace after each turn | true |
CONNECTOR_FLUSH_ON_SESSION_END | Send trace on session end | true |
CONNECTOR_SESSION_TTL | Stale session cleanup threshold (seconds) | 3600 |
CONNECTOR_SESSION_DIR | Override temp directory for session files | System temp |
HTTP Client
| Variable | Description | Default |
|---|---|---|
INFINIUM_TIMEOUT | Request timeout in seconds | 30.0 |
INFINIUM_MAX_RETRIES | Max retry attempts | 3 |
INFINIUM_VERIFY_SSL | Verify SSL certificates | true |
CI/Docker Example
export INFINIUM_AGENT_ID="your-agent-id"
export INFINIUM_AGENT_SECRET="your-agent-secret"
# Non-interactive setup
infinium-claude init --agent-id "$INFINIUM_AGENT_ID" \
--agent-secret "$INFINIUM_AGENT_SECRET" \
--no-interactive
Uninstall
Completely remove the connector:
infinium-claude uninstall
This removes:
- Infinium hooks from Claude Code project settings
- Credentials (config file + keyring secret)
To skip the confirmation prompt:
infinium-claude uninstall -y
You can reinstall at any time with pip install infinium-claude-code-connector and infinium-claude init.