Skip to content
nguyen.david edited this page Aug 13, 2026 · 1 revision

Frequently Asked Questions

Why do locale JSON files have different line counts?

Line counts do not establish translation parity. Formatting and translated string length can differ. Compare key paths, value types, interpolation placeholders, and intended localized content instead.

Does “waiting” mean the agent is stuck?

Not necessarily. It may be waiting for user input, a child agent, or another provider event. Check the agent tree and latest transcript activity.

Can I run more than one dashboard replica?

Not against the same SQLite volume. CCAM requires exactly one active writer. Use persistent storage, backups, controlled replacement, and rollback for availability.

Are costs identical to my provider invoice?

No. They are estimates based on captured usage and configured pricing. Scope, missing usage, model matching, provider adjustments, and rounding can differ.

Will a CCAM outage stop Claude Code or Codex?

Hooks are designed to fail safely and not block provider work. The tradeoff is a possible monitoring gap, which can often be recovered by importing transcript history.

Can one dashboard monitor several machines?

Yes. Use authenticated remote hooks for near-live events, Remote Data Sources for SSH mirroring, or archive import for one-time history.

Does CCAM store SSH passwords?

No. Remote sources use the host's SSH stack, config, keys, and agent. CCAM stores connection metadata.

Is MCP allowed to change data?

It is read-only by default. Mutations require MCP_DASHBOARD_ALLOW_MUTATIONS=true; destructive actions require an additional gate and confirmation token.

What should I back up?

For disaster recovery, use the verified SQLite backup helper. For supported portable data transfer, use the versioned JSON export. Protect both like transcript data.

Where are exact environment variables and APIs documented?

Use Documentation Map. The Wiki explains usage; repository docs are the versioned technical reference.

Clone this wiki locally