Feature request
create_pull_request_with_copilot has no way to specify which custom agent a task should run with. We would also like the agent's declared model to be honored, so that a dispatched task runs with the same agent and model as one started from github.com.
Current behavior
The tool accepts only owner, repo, problem_statement, title, base_ref.
With no agent specified, the runtime discovers our organization-level custom agent, lists it as available, and then proceeds without it:
Proceeding without custom agent.
Additional custom agents available: ppc-developer
The model is unset for the same reason, so the run falls back to the org base model regardless of which models the org has approved:
[cca-engine] Model resolution: env="auto" settings="sweagent-capi:gpt-5.3-codex" → resolved="gpt-5.3-codex"
env="auto" here is the tool's omission — there is no parameter that could have populated it.
What we're trying to do
We dispatch coding-agent tasks programmatically. Each task should run with our organization's custom agent (ppc-developer), which encodes repo-specific conventions and safety rules, on the model that agent is written for.
The runtime clearly supports both — it resolves a model per run, and it scans and lists available custom agents. But a dispatched task has no way to influence either.
This applies to @copilot PR comments too. We included the line "Must use the 'ppc-developer' agent to handle this request" in the comment body, and the run still logged Proceeding without custom agent — so prose in the request does not select an agent, and we could not find a syntax that does.
The only workaround we've found is to create the task and then post a follow-up comment to re-dispatch it, which spends an entire agent run doing nothing useful.
What we'd like
A way to name the custom agent when dispatching a task — for create_pull_request_with_copilot, and ideally for @copilot PR comments as well, since we use both. Resolved from the same agent sources the runtime already scans.
Naming the agent alone should be enough. We'd prefer not to pass a model separately in either path, because our .agent.md already declares one:
---
name: PPC Website Developer
description: Develops websites in the SK PPC style
model: Claude Opus 4.8
tools: [...]
---
Having the runtime use that as the model when an agent is named would keep the model with the rules it applies to, instead of duplicating it in every caller. We recognize this may not be straightforward — in the logs above, agent resolution and model resolution appear to happen in that order but independently, and the model: field seems to be honored only by editor clients today. If reading it server-side isn't practical, an optional model parameter alongside agent would also solve our problem. We'd defer to whichever fits the runtime's design.
Environment
- Copilot Business
- Organization-level custom agent at
agents/ppc-developer.agent.md in the org .github-private repository
- Agent confirmed discoverable by the runtime (listed as "available" in the log above)
claude-opus-4.8 approved in the org's Copilot model settings, and observed resolving correctly on runs triggered from the PR (env="sweagent-capi:claude-opus-4.8")
Feature request
create_pull_request_with_copilothas no way to specify which custom agent a task should run with. We would also like the agent's declared model to be honored, so that a dispatched task runs with the same agent and model as one started from github.com.Current behavior
The tool accepts only
owner,repo,problem_statement,title,base_ref.With no agent specified, the runtime discovers our organization-level custom agent, lists it as available, and then proceeds without it:
The model is unset for the same reason, so the run falls back to the org base model regardless of which models the org has approved:
env="auto"here is the tool's omission — there is no parameter that could have populated it.What we're trying to do
We dispatch coding-agent tasks programmatically. Each task should run with our organization's custom agent (
ppc-developer), which encodes repo-specific conventions and safety rules, on the model that agent is written for.The runtime clearly supports both — it resolves a model per run, and it scans and lists available custom agents. But a dispatched task has no way to influence either.
This applies to
@copilotPR comments too. We included the line "Must use the 'ppc-developer' agent to handle this request" in the comment body, and the run still loggedProceeding without custom agent— so prose in the request does not select an agent, and we could not find a syntax that does.The only workaround we've found is to create the task and then post a follow-up comment to re-dispatch it, which spends an entire agent run doing nothing useful.
What we'd like
A way to name the custom agent when dispatching a task — for
create_pull_request_with_copilot, and ideally for@copilotPR comments as well, since we use both. Resolved from the same agent sources the runtime already scans.Naming the agent alone should be enough. We'd prefer not to pass a model separately in either path, because our
.agent.mdalready declares one:Having the runtime use that as the model when an agent is named would keep the model with the rules it applies to, instead of duplicating it in every caller. We recognize this may not be straightforward — in the logs above, agent resolution and model resolution appear to happen in that order but independently, and the
model:field seems to be honored only by editor clients today. If reading it server-side isn't practical, an optionalmodelparameter alongsideagentwould also solve our problem. We'd defer to whichever fits the runtime's design.Environment
agents/ppc-developer.agent.mdin the org.github-privaterepositoryclaude-opus-4.8approved in the org's Copilot model settings, and observed resolving correctly on runs triggered from the PR (env="sweagent-capi:claude-opus-4.8")