github / github/copilot-cli

Model selection is global, not per-session — causes confusing cross-session model changes

Open
#1,531 0 comments 0 reactions 0 assignees View on GitHub
area:models area:sessions
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

### Describe the bug

When using /model to change the model in one session, it updates the global ~/.copilot/config.json, which causes
all other active sessions to silently switch models. This is unexpected and confusing.

### Affected version

Version 0.0.411

### Steps to reproduce the behavior

1. Open Session A (e.g., ee685757...) — model shows claude-sonnet-4.5
2. Open Session B (e.g., 738952fd...) — run /model and select gpt-5-mini
3. Return to Session A — UI now shows gpt-5-mini (high) even though no model change was made in that session
4. No session.model_change event is logged in Session A's events.jsonl, confirming the change originated
externally

Evidence from session logs:

- Session B (738952fd) has a session.model_change event for gpt-5-mini at 2026-02-18T18:10:20Z
- Session A (ee685757) has no such event — the model changed in the UI without any user action in that session

### Expected behavior

Model selection should be per-session. Changing the model in one session should not affect
other active sessions. A global default is fine for new sessions, but running sessions should maintain their own
model selection.

- Store model selection per-session (e.g., in workspace.yaml) and fall back to config.json only when no
session-level override exists
- Alternatively, at minimum, log a session.model_change event and display a notification when the model changes
due to an external config update, so the user understands what happened

### Additional context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.