Bash tool overrides are not honored in the latest Copilot SDK/runtime
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 68/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript, node.js
Research direction
Reproduce the issue with Copilot SDK 1.0.13 and @github/copilot 1.0.83 using the SDK entry point and the full CLI through index.js. Compare session.tools.execute for bash, read_bash, stop_bash, and list_bash with the working create override, then trace how recognized overrides reach execution. Done means each Bash override uses its custom schema and invokes its registered handler.
Written by the indexing model from the issue text.
Description
Description
Custom overrides for the Bash tool family are not honored with Copilot SDK 1.0.13 and @github/copilot@1.0.83.
The custom handlers for bash, read_bash, stop_bash, and list_bash are never invoked. File and search tool overrides work correctly under the same configuration.
Versions tested
- Copilot SDK:
1.0.13 - CLI/runtime:
@github/copilot@1.0.83
The issue reproduces with both the SDK’s default entry point and the full CLI launched through index.js.
Steps to reproduce
- Register custom tools named
bash,read_bash,stop_bash, andlist_bash, with override enabled. - Add logging or invocation counters to each custom handler.
- Register a
createoverride as a control. - Create a session and invoke the tools.
- Observe that the
createhandler is called, but the Bash tool handlers are not.
The issue also reproduces when invoking bash directly through session.tools.execute, without model involvement.
Expected behavior
Overridden tools should use the custom tool schemas and invoke the registered custom handlers.
Actual behavior
| Tools | Override behavior |
|---|---|
view, create, edit |
Works as expected |
glob, grep, apply_patch |
Works as expected |
bash |
Custom handler is not invoked |
read_bash |
Custom handler is not invoked; built-in parameter validation is used instead of the custom schema |
stop_bash |
Custom handler is not invoked; built-in parameter validation is used instead of the custom schema |
list_bash |
Custom handler is not invoked |
Additional evidence
The tool-planning logic recognizes the overrides:
{
"validOverridingExternalToolNames": ["bash", "create"]
}
However, only the create override takes effect. The bash override is recognized but not honored during execution.
Could you confirm whether overriding the Bash tool family is still supported, and investigate why these overrides are not taking effect?
- Dominant language
- Java
- Stars
- 10.5k
- Forks
- 1.5k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 133
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from github/copilot-sdk
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2709 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
github/copilot-sdk#2673 ·
-
bug testing
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
github/copilot-sdk#2628 ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
github/copilot-sdk#2627 · 1 comment ·
-
agentic-workflows
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
github/copilot-sdk#2493 ·
All issues in github/copilot-sdk
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
infinispan/infinispan#18150 ·
-
area/frontend
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 88/100