Configuration

Config file

urimai stores its configuration in ~/.urimai/config.toml. The file is created automatically when you run urim setup.

Default contents:

[user]
name = ""

[provider]
default = "google"
google_model = "gemini-2.5-flash"
openai_model = "gpt-4o"

[settings]
sample_rows = 5
query_timeout = 60
max_retry_attempts = 3
max_plan_revisions = 2

API key storage

API keys are stored in your system keyring (via the keyring library). This keeps them out of plain-text config files.

Environment variables

You can bypass the keyring by setting environment variables. urimai checks them in this order:

  1. Provider-specificGOOGLE_API_KEY or OPENAI_API_KEY

  2. Generic overrideURIMAI_API_KEY

  3. System keyring

export GOOGLE_API_KEY="your-key"

Supported providers

Google Gemini (default)

Set with urim config provider.default google. Model controlled by provider.google_model. Get an API key from Google AI Studio.

OpenAI

Set with urim config provider.default openai. Model controlled by provider.openai_model. Get an API key from the OpenAI platform.

You can override the provider for a single command with --model:

urim chat mydb --model openai

Modifying settings

Use urim config with dot-notation:

urim config settings.sample_rows 10
urim config settings.query_timeout 120
urim config provider.google_model gemini-2.5-pro

Data directories

Path

Purpose

~/.urimai/

Home directory

~/.urimai/config.toml

Configuration file

~/.urimai/metadata.db

Internal metadata database

~/.urimai/csv_databases/

SQLite files created from CSV imports

Run urim config --path to print these paths.