Configuration

Configuration is stored in ~/.claude-monitor/config.yaml. It is created with defaults on first run.

Full Reference

server:
  port: 3000              # HTTP port for the web UI
  host: "127.0.0.1"       # Bind address (use 0.0.0.0 for network access)

cost:
  models:
    opus:
      input: 15.0          # $ per million input tokens
      output: 75.0         # $ per million output tokens
      cache_read: 1.5      # $ per million cache read tokens
      cache_write: 18.75   # $ per million cache write tokens
    sonnet:
      input: 3.0
      output: 15.0
      cache_read: 0.3
      cache_write: 3.75
    haiku:
      input: 0.25
      output: 1.25
      cache_read: 0.03
      cache_write: 0.3

storage:
  database_path: "~/.claude-monitor/claude-monitor.db"
  retention_days: 0        # 0 = keep forever

ui:
  theme: "auto"            # auto, light, dark
  default_page: "dashboard"
  sessions_per_page: 50

Server Settings

Key Default Description
server.port 3000 HTTP port
server.host 127.0.0.1 Bind address

Cost Settings

Model pricing is used to estimate session costs. The model name from Claude Code is matched against these keys using substring matching (e.g., a model containing “opus” uses the opus pricing).

Prices are in USD per million tokens.

Storage Settings

Key Default Description
storage.database_path ~/.claude-monitor/claude-monitor.db SQLite database path
storage.retention_days 0 Auto-delete sessions older than N days (0 = disabled)

UI Settings

Key Default Description
ui.theme auto Color theme: auto, light, or dark
ui.default_page dashboard Page shown on load
ui.sessions_per_page 50 Sessions per page in the sessions list

Editing Configuration

You can edit the config file directly or use the Settings page in the web UI. Changes made via the UI are saved immediately.

# View current config
claude-monitor config --show

# Reset to defaults
claude-monitor config --reset

# Edit manually
$EDITOR ~/.claude-monitor/config.yaml