github / github/copilot-sdk

Bash tool overrides are not honored in the latest Copilot SDK/runtime

Aperta
#2,692 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
10.5k
Fork
1.5k
Merge medio
1g 11h
PR unite (30g)
128

Descrizione

## 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

1. Register custom tools named `bash`, `read_bash`, `stop_bash`, and `list_bash`, with override enabled.
2. Add logging or invocation counters to each custom handler.
3. Register a `create` override as a control.
4. Create a session and invoke the tools.
5. Observe that the `create` handler 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?

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, node.js
Ambito
api, tooling
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Abbastanza chiara
Idoneità per principianti
68/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.