docsConfiguration

Configuration

Configuration File Setup

OpenCode Monitor uses a configuration file located at: ~/.config/ocmonitor/config.toml

Create Configuration File

# Create the configuration directory
mkdir -p ~/.config/ocmonitor
 
# Create your configuration file
touch ~/.config/ocmonitor/config.toml

Configuration File Search Order

OpenCode Monitor searches for configuration files in this order:

  1. ~/.config/ocmonitor/config.toml (recommended user location)
  2. config.toml (current working directory)
  3. ocmonitor.toml (current working directory)
  4. Project directory fallback

Setting Custom Message Path

OpenCode Monitor can be configured to use custom paths for your message data.

Method 1: Edit Configuration File

Edit your ~/.config/ocmonitor/config.toml file:

[paths]
# Custom path to OpenCode messages directory
messages_dir = "/custom/path/to/messages"
# Directory for exports
export_dir = "./my-exports"

Method 2: Environment Variable

Set the path via environment variable:

# Set custom path
export OCMONITOR_MESSAGES_DIR="/custom/path/to/messages"
 
# Use in commands
ocmonitor sessions

Method 3: Command Line Override

Override the path for individual commands:

# Use custom path for this command only
ocmonitor sessions /custom/path/to/messages

Full Configuration Options

Here’s a complete ~/.config/ocmonitor/config.toml with all available options:

# OpenCode Monitor Configuration
 
[paths]
# Default path to OpenCode messages directory
messages_dir = "~/.local/share/opencode/storage/message"
# Directory for exports
export_dir = "./exports"
 
[ui]
# Table style: "rich", "simple", "minimal"
table_style = "rich"
# Enable progress bars
progress_bars = true
# Enable colors in output
colors = true
# Refresh interval for live dashboard (seconds)
live_refresh_interval = 5
 
[export]
# Default export format: "csv", "json"
default_format = "csv"
# Include metadata in exports
include_metadata = true
# Include raw data in exports
include_raw_data = false
 
[models]
# Path to models pricing configuration
config_file = "models.json"
 
[analytics]
# Default timeframe for reports: "daily", "weekly", "monthly"
default_timeframe = "daily"
# Number of recent sessions to analyze by default
recent_sessions_limit = 50
 
[quotas]
# Daily spending limits per model (in USD)
daily_limits = { claude-sonnet-4 = 10.0, claude-opus-4 = 20.0 }
# Monthly spending limits
monthly_limits = { claude-sonnet-4 = 200.0, claude-opus-4 = 400.0 }
# Enable quota warnings
enable_warnings = true