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.tomlConfiguration File Search Order
OpenCode Monitor searches for configuration files in this order:
~/.config/ocmonitor/config.toml(recommended user location)config.toml(current working directory)ocmonitor.toml(current working directory)- 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 sessionsMethod 3: Command Line Override
Override the path for individual commands:
# Use custom path for this command only
ocmonitor sessions /custom/path/to/messagesFull 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