You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Problem: Only the api agent supports choosing a model (SECFOO_API_MODEL). The CLI adapters (claude, codex, gemini, copilot, cursor, droid, ...) build a fixed argv in build_command() and never pass a model, so a scan always uses the CLI's own default. The only workaround is changing that CLI's global config, which affects every other use of the CLI too.
Proposal:
Optional per-agent setting in ~/.secfoo/config.toml, e.g.
[agents.claude]
model = "claude-sonnet-5-5"
A --model option on secfoo run that overrides the config value for one run.
Each adapter appends its CLI's own flag only when a model is set (--model for claude/codex/gemini/copilot/cursor, -m for droid; check each CLI's --help). Adapters whose CLI has no model flag should warn and ignore the setting.
Store the model on the run record so results from different models can be compared.
Where to look:src/secfoo/agents/base.py, the adapters in src/secfoo/agents/, src/secfoo/config.py, src/secfoo/cli.py (run).
Done when: unit tests in tests/test_agents/ cover the argv with and without a model for every adapter, and pytest tests passes.
Correction to my comment above: this was already done by @kushaldave002 in #60 (merged 2026-11-08). It adds [agents.<name>].model in config, a --model override on secfoo run, each adapter's own flag (--model/-m) with a warning for adapters that have none, and the model stored on the run record. Adapter argv tests are in tests/test_agents/test_models.py. The PR didn't link this issue, so it stayed open. Closing as completed.
Activity
karthickmk2001 commentedon Nov 11, 2026
I'd like to take this. Working on it now; a PR will follow.
karthickmk2001 commentedon Nov 11, 2026
Correction to my comment above: this was already done by @kushaldave002 in #60 (merged 2026-11-08). It adds
[agents.<name>].modelin config, a--modeloverride onsecfoo run, each adapter's own flag (--model/-m) with a warning for adapters that have none, and the model stored on the run record. Adapter argv tests are intests/test_agents/test_models.py. The PR didn't link this issue, so it stayed open. Closing as completed.docs: add a Closes # line to the PR template
docs: add a Closes # line to the PR template
docs: add a Closes # line to the PR template
leaderboard: update 2026-11-11T20:44Z (credit #60->#45, #61->#47)
docs: add a Closes # line to the PR template