Documentation Index
Fetch the complete documentation index at: https://mintlify.com/onenot8/issueLoop/llms.txt
Use this file to discover all available pages before exploring further.
provider_config.yaml lets you configure the LLM backend used by IssueLoop without changing any Python code. This is useful for shared team setups, deployment environments, or any situation where you want the LLM settings to live outside the application — editable by ops or CI tooling without touching source files.
File structure
The file uses a single top-levelreasoning key, which maps to the LLM used for ticket triage — the step where raw test failures are split into independent, prioritised tickets.
reasoning key is the only supported top-level key. The three nested fields map directly to fields on LLMConfig:
| Field | Description |
|---|---|
provider | The LLM backend. Accepted values: ollama, anthropic, openai. |
model | The model identifier as the provider expects it (e.g. qwen2.5-coder:7b, claude-sonnet-4-6). |
base_url | Base URL for the provider’s API. Defaults to http://localhost:11434 for a local Ollama server. |
Supported providers
Three providers are supported:ollama— local inference, no API key required. The default. Pointbase_urlat your Ollama server (local or remote).anthropic— Anthropic’s cloud API (e.g. Claude models). Requires anapi_key.openai— OpenAI’s API or any OpenAI-compatible endpoint. Requires anapi_key.
anthropic and openai, the api_key must be supplied via code or environment variable — it is intentionally not stored in provider_config.yaml to prevent secrets from landing in version control. Pass it through issueloop.use() or an environment variable your application reads at startup.
Config file resolution order
IssueLoop resolvesprovider_config.yaml by searching the following locations in order, stopping at the first match:
ISSUELOOP_PROVIDER_CONFIG_PATHenvironment variable — if set, the value is used as an absolute path to the config file, with no further searching../config/provider_config.yaml— relative to the current working directory when the process starts.config/provider_config.yamlin the IssueLoop checkout — theconfig/directory at the root of the cloned repository (only relevant for development installs with-e .).- Bundled package defaults — the
_defaults/provider_config.yamlfile shipped inside theissuelooppackage itself.
pip install issueloop always has a valid fallback (Ollama on localhost) even when no project-local config directory exists.
When this file is used
provider_config.yaml is consulted only when IssueLoop is running with the built-in default single-provider Ollama configuration — specifically, when the active LLMConfig has provider="ollama", model="qwen2.5-coder:7b", and no api_key set. When that condition is met, the YAML file can override those values without any code change.
If you call use(llm={...}) with any non-default values — a different provider, a different model, or an api_key — the condition is not met and the file is never read. The same is true if you configure multiple providers via llm={"providers": [...]}.
In practice:
- No
use()call at all → the defaultLLMConfigis active (Ollama,qwen2.5-coder:7b, no key) →provider_config.yamlis read. use()called withoutllm=→llmdefaults toNone, which resolves to the same default Ollama config →provider_config.yamlis read.use(llm={})called with an empty dict →_build_llm_configfills in the Ollama defaults →provider_config.yamlis read.use(llm={"provider": "openai", ...})or any non-default config → the condition is not met → the file is ignored entirely.
provider_config.yaml is a targeted override for the default Ollama path only. It is not a general-purpose config file that overrides arbitrary use() calls.
Relationship to use()
provider_config.yaml is a convenience default, not a hard override. Calling issueloop.use(llm={...}) with any non-default LLM settings always wins, regardless of what the file contains. Think of the file as the answer to “what should IssueLoop use when nothing else is configured?” — it fills the gap so you never need to touch Python code just to switch from the bundled Ollama default to a different model or server address.