Tools not available when using custom BASE_URL with local API server
- Lingua principale
- Shell
- Stelle
- 11.2k
- Fork
- 1.9k
- Merge medio
- 14h 16m
- PR unite (30g)
- 6
Descrizione
### Describe the bug
## Description
When connecting GitHub Copilot CLI to a local API server via custom `BASE_URL`, the tools exposed by the server (bash, view, edit, curl, etc.) are not recognized or made available to the agent, even though the server
correctly exposes them in OpenAI-compatible format.
## Environment
- **Copilot CLI version:** 1.0.34
- **Model:** claude-sonnet-4.5
- **Configuration:**
- `BASE_URL=http://localhost:8642/v1`
- `COPILOT_OFFLINE=true`
- Local API server (Hermes) running on port 8642
- Server exposes tools in OpenAI format via `/v1/chat/completions`
## Expected Behavior
When the local API server exposes tools in the OpenAI-compatible format, Copilot CLI should recognize and make these tools available to the agent, similar to how it works with the default GitHub Copilot backend.
## Actual Behavior
Only a limited set of tools are available (`memory`, `session_search`). Standard tools like `bash`, `view`, `edit`, `curl`, `grep`, `glob` are not accessible, even though:
- The server correctly returns tool definitions in API responses
- The same server works with tools when accessed through other clients
- The tools are properly formatted according to OpenAI function calling spec
## Steps to Reproduce
1. Set up a local API server that implements OpenAI-compatible `/v1/chat/completions` endpoint with tools
2. Configure Copilot CLI with custom BASE_URL pointing to local server
3. Start a Copilot CLI session
4. Attempt to use standard tools (bash, view, edit, etc.)
5. Observe that tools are not available
## Workaround Attempted
Disabled all tools in the API server config (`platform_toolsets.api_server: []`) to run in pure text mode, but this defeats the purpose of having a local agent with full tooling capabilities.
## Request
Please add support for recognizing and utilizing tools exposed by custom BASE_URL endpoints, enabling full local/self-hosted agent deployments with complete tooling functionality.
## Additional Context
This limitation prevents using Copilot CLI as a frontend for self-hosted or local AI agent infrastructure, which would be valuable for:
- Privacy-sensitive environments
- Custom tool development
- Air-gapped deployments
- Local model experimentation
### Affected version
GitHub Copilot CLI 1.0.34.
### Steps to reproduce the behavior
_No response_
### Expected behavior
Connect to a remote Server like Hermes Agent:
export COPILOT_PROVIDER_BASE_URL=http://localhost:8642/v1
export COPILOT_PROVIDER_API_KEY=api-key-value
export COPILOT_MODEL=claude-sonnet-4.5
export COPILOT_OFFLINE=true
### Additional context
_No response_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Non vengono indicati file sorgente o test. Inizia riproducendo la sessione con la BASE_URL documentata, le variabili del provider e l'endpoint compatibile con OpenAI /v1/chat/completions, quindi traccia dove vengono gestite le definizioni degli strumenti restituite. Il lavoro è completato quando gli strumenti esposti dall'endpoint personalizzato vengono riconosciuti e sono disponibili per l'agent, mantenendo intatto il comportamento esistente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- shell
- Ambito
- api, cli
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100