Skip to content
Ari Mayer edited this page Mar 23, 2026 · 1 revision

Configuration

Settings are stored in a TOML config file at ~/.config/models/config.toml. The file is created automatically when you customize tracked agents or providers through the TUI pickers.

Config file location

Platform Path
Linux ~/.config/models/config.toml
macOS ~/Library/Application Support/models/config.toml
Windows %APPDATA%\models\config.toml

Full config reference

# Config version (do not change manually)
config_version = 0

[agents]
# Which agents to track (agent IDs from the catalog)
tracked = ["claude-code", "codex", "gemini-cli", "opencode"]

# Agents to explicitly exclude
excluded = []

[cache]
# GitHub API cache TTL in seconds (default: 3600 = 1 hour)
github_ttl_seconds = 3600

[display]
# Default tab when launching the TUI: "models", "agents", "benchmarks", or "status"
default_tab = "models"

[status]
# Which status providers to track (all tracked by default)
tracked = ["openai", "anthropic", "google", "openrouter", "github", "cursor", "..."]

Tracked agents

By default, new installations track four agents: Claude Code, Codex, Gemini CLI, and OpenCode.

Customizing via TUI

Press a in the Agents tab to open the tracked agents picker. Toggle agents with Space, save with Enter.

Customizing via CLI

agents list-sources    # Interactive tracked-agent manager

Customizing via config file

Edit the agents.tracked array in your config file. Use agent IDs from the catalog:

[agents]
tracked = ["claude-code", "cursor", "goose", "zed", "gemini-cli"]

To explicitly hide an agent that would otherwise appear, add it to the excluded list:

[agents]
excluded = ["cline"]

Custom agents

You can add agents not in the built-in catalog by adding [[agents.custom]] sections:

[[agents.custom]]
name = "My Internal Agent"
repo = "myorg/internal-agent"
agent_type = "cli"
binary = "myagent"
version_command = ["myagent", "--version"]

[[agents.custom]]
name = "Custom IDE Plugin"
repo = "myorg/ide-plugin"
agent_type = "ide"

Custom agent fields

Field Required Description
name Yes Display name for the agent
repo Yes GitHub repo in owner/repo format
agent_type No "cli" or "ide"
binary No CLI binary name for version detection
version_command No Command arguments to get the installed version (e.g., ["--version"])

Notes:

  • Custom agents are tracked by default
  • If a custom agent has the same name as a built-in agent, the built-in is used
  • GitHub data (stars, releases, changelogs) is fetched automatically for custom agents

Tracked status providers

By default, all 22 providers are tracked. See Status#tracked-providers for the full list.

Customizing via TUI

Press a in the Status tab to open the provider tracking picker.

Customizing via config file

Edit the status.tracked array:

[status]
tracked = ["openai", "anthropic", "google", "github"]

GitHub cache

Agent data from GitHub (releases, stars, changelogs) is cached locally with ETag-based conditional fetching for fast startup:

Setting Default Description
github_ttl_seconds 3600 How long cached GitHub data is considered fresh before re-fetching

Cache location:

  • Linux: ~/.local/share/modelsdev/github-cache.json
  • macOS: ~/Library/Application Support/modelsdev/github-cache.json

Display settings

Setting Default Options
default_tab (none -- starts on Models) "models", "agents", "benchmarks", "status"

Clone this wiki locally