pyproject.toml Configuration
Quell reads configuration from the [tool.quell] section of your pyproject.toml. Run quell init to generate a starter config.
Initialize
quell init
Adds to your pyproject.toml:
[tool.quell]
llm_provider = "anthropic"
llm_model = "claude-sonnet-4-5"
max_verification_attempts = 3
verification_timeout_seconds = 30
auto_write = false
enable_docstring = true
enable_types = true
enable_mutations = false
score_threshold = 0.0
Full reference
[tool.quell]
# LLM settings
llm_provider = "anthropic" # "anthropic" | "openai" | "ollama"
llm_model = "claude-sonnet-4-6" # model name for the provider
ollama_base_url = "http://localhost:11434"
# Verification
max_verification_attempts = 3 # retry count for flaky tests
verification_timeout_seconds = 30 # subprocess timeout per test run
# Writing behaviour
auto_write = false # skip confirmation prompt if true
# Spec sources
enable_docstring = true # read docstrings for requirements
enable_types = true # read Pydantic models and type annotations
enable_mutations = false # read mutmut/Stryker results (optional)
# CI gate
score_threshold = 0.0 # minimum score for quell ci
# Paths
audit_log_path = ".quell/audit.jsonl"
backup_dir = ".quell/backups"
Option descriptions
llm_provider
Which LLM to use for complex or unstructured specs (e.g., bug descriptions). Quell never calls the LLM for specs it can parse directly (docstrings, Pydantic models).
| Value | Requires |
|---|---|
"anthropic" | ANTHROPIC_API_KEY env var |
"openai" | OPENAI_API_KEY env var |
"ollama" | Ollama running locally |
llm_model
Model name passed to the provider. Defaults:
| Provider | Default model |
|---|---|
anthropic | claude-sonnet-4-5 |
openai | gpt-4o |
ollama | codellama |
max_verification_attempts
How many times to retry verification if the test result is non-deterministic. Use 1 for strict mode, 3 for tolerating flaky infrastructure.
verification_timeout_seconds
Maximum time (in seconds) for a single pytest subprocess run. If your test suite has heavy fixtures, increase this.
auto_write
If true, Quell writes verified tests without asking for confirmation. Useful for automated scripts and CI.
enable_docstring / enable_types
Which spec readers to activate. Both are true by default. Set enable_types = false if your project doesn't use Pydantic.
score_threshold
Minimum acceptable score for quell ci. Overridden by --threshold on the CLI.
Monorepo setup
For projects with multiple packages, each sub-package can have its own pyproject.toml:
my-monorepo/
├── packages/
│ ├── payments/
│ │ ├── pyproject.toml # [tool.quell] here
│ │ └── src/
│ └── auth/
│ ├── pyproject.toml # [tool.quell] here
│ └── src/
Run with:
quell ci src/ --root packages/payments
quell ci src/ --root packages/auth