config#
Read and write LLM and behavior settings.
Synopsis#
oxo-call config login
oxo-call config set <KEY> <VALUE>
oxo-call config get <KEY>
oxo-call config show
oxo-call config verify
oxo-call config path
oxo-call config model <SUBCOMMAND>
Subcommands#
config login#
Interactive OAuth login for GitHub Copilot (recommended for GitHub Copilot users):
This command:
1. Initiates OAuth device flow with GitHub
2. Opens a browser window for authentication
3. Waits for you to authorize the application
4. Stores the GitHub App token (ghu_) securely
5. Prompts you to select a GitHub Copilot model (default: gpt-5-mini, lightweight free tier ⭐)
6. Saves all available models to llm.models for quick switching
Important: For GitHub Copilot, you must use a GitHub App token (ghu_), not a Personal Access Token (ghp_). The config login command handles this automatically.
config set#
Persist a configuration value:
oxo-call config set llm.provider openai
oxo-call config set llm.api_token sk-...
oxo-call config set llm.temperature 0.2
Switching providers: When you switch to a different provider (e.g., from OpenAI to Ollama), oxo-call gives a context-aware hint:
- Switching to Ollama: reminds you that no token is needed and offers to clear the leftover token
- Switching to OpenAI/Anthropic: reminds you to set an API token if none is configured
# Switch to Ollama (no token needed)
oxo-call config set llm.provider ollama
# hint: Switched to Ollama (local inference, no API token needed).
# Your existing API token is still stored but will be ignored.
# Switch to OpenAI (token required)
oxo-call config set llm.provider openai
# hint: Provider 'openai' requires an API token.
# Set one with: oxo-call config set llm.api_token <your-token>
config get#
Show the effective value (with environment variable overrides applied):
config show#
Display all stored and effective values side-by-side:
config verify#
Make a real API call to confirm the LLM configuration works:
config path#
Print the path to config.toml:
config model#
Manage the configured model list and switch the active model without re-running login. The active model is displayed with a ★ marker.
# List configured models
oxo-call config model list
# Add a model to your list
oxo-call config model add gpt-5.4
# Switch the active model
oxo-call config model use gpt-4.1 # alias: switch
oxo-call config model switch gemini-2.5-pro
# Remove a model from the list
oxo-call config model remove claude-sonnet-4
After config login, the full list of supported GitHub Copilot models is automatically populated.
You can use config model add <id> to add models not included in the login selection (e.g., preview models).
Streaming Configuration#
Enable or disable SSE streaming for LLM responses:
# Disable streaming globally (useful for CI/batch scripts and benchmarks)
oxo-call config set llm.stream false
# Re-enable streaming (default)
oxo-call config set llm.stream true
# Check the current setting
oxo-call config get llm.stream
You can also disable streaming per-invocation with --no-stream on any LLM-backed command.
Configuration Reference#
See the Configuration tutorial for complete details on all keys, defaults, and environment variables.
Security#
The config file (config.toml) may contain sensitive data such as API tokens.
On Unix systems, oxo-call automatically sets file permissions to 0600 (owner
read/write only) when saving the configuration. This prevents other users on the
same system from reading your API token.
You can also use the OXO_CALL_LLM_API_TOKEN environment variable to provide
the API token without storing it in the config file at all — this is recommended
for shared environments and CI/CD pipelines: