Service eligibility and regional restrictions
PuppyIP serves only compliant overseas businesses and their authorized personnel. Proxy services are not available in mainland China. The service may only be used for lawful business activities outside mainland China. Use of this service within mainland China is prohibited.
Hosting a proxy IP or server overseas does not change these restrictions. The service must not be provided to end users in mainland China through relaying, forwarding, sharing or resale. Before use, read the Terms of Service.
Key Takeaways
- Starting with Copilot CLI 1.0.94-0, /model can discover models from a running local Ollama server; Ollama and the model must already be installed.
- Choose a Discovered model under Local and self-hosted, confirm how to add it, and use it in the current session. providers.json stores the details for later sessions.
- Automatic discovery checks only the local machine and defaults to http://127.0.0.1:11434. Set OLLAMA_HOST before launch for another local address; configure a remote server manually.
- Selecting a local model does not enable offline mode or disable telemetry. COPILOT_OFFLINE=true prevents contact with GitHub servers, but remote models and tools need separate network review.
Separate Ollama discovery from model downloads
GitHub announced Ollama discovery on October 7, 2026, starting with Copilot CLI 1.0.94-0. The current documentation, checked on November 11, 2026, explains the local address, saved configuration and missing-model checks used below.
This Ollama route discovers an existing server and downloaded model. Before starting, make sure Ollama is running on this machine and the model endpoint supports tool calling (also called function calling, so the model can request CLI tools) and streaming (so responses appear as they arrive). Discovery does not install Ollama or download a model.
Add an existing model with /model
In an interactive Copilot CLI session, enter /model and look for Ollama models under Local and self-hosted. A downloaded model that has not been added to the CLI appears as Discovered. Select it and press Enter, then review the provider and endpoint shown in the picker.
Choose Add and use for this session to switch now, or Add without switching to keep the current model. Press Esc to leave the picker. After you confirm, the CLI saves the model details to providers.json for later sessions. You can use the added model in the current session without restarting.
Automatic discovery checks only this machine
Copilot CLI checks http://127.0.0.1:11434 by default. If Ollama uses a different address or port on this machine, set OLLAMA_HOST before starting the CLI. Automatic discovery checks only the computer running the CLI; it does not scan other devices on your network.
For an Ollama server on another machine, configure the provider manually with its OpenAI-compatible API URL, including /v1. A remote server is outside automatic discovery; check which host the CLI will actually contact.
When a model is missing or will not work
First check that the Ollama server is running and the model has been downloaded. Open /model and press Ctrl+R to scan again. If the picker reports a provider connection failure, use its explanation to check the Ollama address and port. If saving produces a warning, check that the configuration file and its permissions allow the CLI to write it.
If a manually configured model is missing, make sure its provider value exactly matches a provider name in providers.json, then restart the CLI. The file is normally in ~/.copilot; COPILOT_PROVIDERS_CONFIG can point to another file. Existing providers or models in that file take precedence over environment settings.
For an unknown model, the CLI may default to 128,000 prompt tokens, which can exceed the model's actual context capacity. Set maxPromptTokens and maxOutputTokens to values the model supports. A higher configured limit does not expand the model's context window.
A local model does not mean offline
Selecting an Ollama model does not turn on offline mode or disable GitHub telemetry. To prevent Copilot CLI from contacting GitHub servers, set COPILOT_OFFLINE=true before starting the CLI. This setting is not an operating-system firewall and does not guarantee that every other network request is blocked.
If the provider is remote, it may still receive prompts and code context over the network. Full network isolation requires the model provider to be local or inside the same isolated environment. Separately review the network permissions of any tools that make network requests. Running inference on the same machine alone does not prove the whole workflow is offline or isolated.
Windows model downloads are a separate preview route
The GitHub documentation checked for this guide also describes a separate public-preview route for downloading specific models from the picker. It is for supported Windows and NVIDIA devices and requires --experimental or /experimental on in a session. This is distinct from discovering an Ollama model that is already installed; availability depends on that route's own device requirements.
If a model shows Download required, check its memory, storage and other device requirements rather than applying the prerequisites for discovering an existing Ollama model. The reviewed sources do not provide a complete account, country or pricing matrix; local execution alone does not establish eligibility or waive fees.
Sources
Frequently Asked Questions
Can I share providers.json, and does $MY_API_KEY read an environment variable?
Credentials in this file are stored as plain text. Keep it private, do not commit or share it, and treat values such as $MY_API_KEY as literal strings rather than environment-variable references. When adding entries, merge them into the existing providers and models instead of replacing the file contents.
How do I remove a manually configured provider I no longer use?
If it supplies your current default model, first choose another default with /model --global. Remove the provider entry from providers.json and its matching model entries from models, then restart the CLI.