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
fix(providers): honor profile.model at terminal creation (#189)
* fix(providers): honor profile.model at terminal creation (#174)
Claude Code, Codex, Gemini CLI, Copilot CLI, and Kimi CLI all accept
a --model flag at launch, but each provider's command builder was
dropping profile.model on the floor — only Q CLI and Kiro CLI used it
(at install time, baked into the agent JSON).
Add a BaseProvider._model_args(profile) helper and wire it into each
of the five runtime command builders. Copilot gates the flag behind
its existing --model capability probe and treats profile-load failures
as non-fatal. Model values are passed verbatim so any alias or full ID
supported by the target CLI works unchanged.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(providers): inline --model flag append in each provider
Remove BaseProvider._model_args helper and inline the two-line
conditional directly in each provider's command builder. Keeps
provider-specific CLI flag details contained in the provider that
owns them, so a future change to one CLI's syntax does not ripple
through a shared helper.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(copilot): drop _supports_flag gate around --model
The flag is documented in GitHub's Copilot CLI command reference, so
the capability probe no longer earns its keep. Removing it also brings
Copilot in line with the other four providers, which pass --model
unconditionally and let the CLI surface a clear error if it's too old
to understand the flag — better UX than silently ignoring the user's
model preference.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* refactor(copilot): take model via constructor instead of re-loading profile
terminal_service already loads the AgentProfile once to resolve allowedTools
(terminal_service.py:148); Copilot was re-loading it inside _command() just
to read profile.model. Thread the model value through create_provider into
CopilotCliProvider.__init__ so the profile is read once per terminal.
Scope is limited to Copilot because the other providers genuinely need
profile.system_prompt and profile.mcpServers at command-build time, so
removing their re-load is a larger refactor that can happen separately.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments