IssueLoop configuration is passed toDocumentation 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.
issueloop.use() once at startup, before any scanning or ticket operations. Every option has a sensible default, so zero configuration is needed for a local trial — a fresh install works out of the box with a local Ollama instance.
The use() function
Calluse() at the top of your script (or in your application’s startup routine) to configure the library globally. Calling it a second time replaces the previous configuration entirely.
Config object, though you rarely need that return value — get_config() retrieves it at any time.
All configuration options
The table below covers every accepted field, including the nested keys inside thellm and notify dicts.
| Field | Values | Default | Description |
|---|---|---|---|
database | "local", "supabase" | "local" | Storage backend. "local" uses a SQLite file; "supabase" uses a hosted Postgres-backed project. |
database_path | any filesystem path | None (resolves to data/issueloop.db at runtime) | Path to the local SQLite database. When None, the backend applies data/issueloop.db relative to the IssueLoop package root. Ignored when database="supabase". |
retention_days | integer | 30 | How many days completed tickets are kept before cleanup removes them. |
llm.providers | list of provider dicts, in priority order | single Ollama default | Priority-ordered list of LLM backends. IssueLoop falls back to the next entry automatically on failure. |
llm.provider | "ollama", "anthropic", "openai" | "ollama" | LLM provider for single-provider configurations. |
llm.apiKey | string | None (required for anthropic/openai) | API key for the selected provider. |
llm.tokenSize | integer | 1024 | Maximum token budget passed to the LLM per call. |
notify.webhook | URL string | None | Endpoint that receives a POST request if IssueLoop itself encounters an internal error. |
LLMConfig fields
Internally, each entry inllm.providers (or the single llm dict) is normalised into an LLMConfig dataclass. The fields and their defaults are:
The LLM backend to use. Accepted values are
"ollama", "anthropic", and "openai".The model name as the provider expects it. For Ollama this is the tag used with
ollama pull; for Anthropic and OpenAI it is the model identifier from their respective APIs.API key for cloud providers. Not required for a local Ollama instance. Accepts both
apiKey (camelCase) and api_key (snake_case) in the raw dict passed to use().Base URL for the provider’s API. The default points to a locally running Ollama server. Override this for a remote Ollama instance or a custom OpenAI-compatible endpoint.
Maximum tokens per LLM call. Accepts both
tokenSize (camelCase) and token_size (snake_case) in the raw dict.NotifyConfig
Thenotify argument accepts a plain dict. Both fields are optional.
Email address to notify on internal IssueLoop errors.
HTTP/HTTPS URL that receives a POST payload when IssueLoop encounters a crash or unhandled exception.
camelCase and snake_case
IssueLoop accepts both naming conventions in the dicts you pass touse(). The internal _build_llm_config function normalises them:
apiKeyandapi_keyare both read;apiKeyis tried first.tokenSizeandtoken_sizeare both read;tokenSizeis tried first.baseUrlandbase_urlare both read;baseUrlis tried first.
Config resolution order
get_config() always returns the current global config object. Calling use() replaces it atomically for all subsequent operations.
provider_config.yaml file is a separate convenience layer for the LLM backend only; see Provider Config for details.
use() is entirely optional. The defaults work out of the box with a local Ollama install — no API key, no database account, and no config file required to run your first scan.