Skip to content

/new  discards in-memory usage statistics without writing  session.shutdown  to  events.jsonl #3994

Description

@marcelhohn

Describe the bug

When starting a new session with  /new, the CLI abandons the current session's in-memory modelMetrics without triggering a  session.shutdown event. All token usage accumulated in the outgoing session is permanently lost — it is never written to events.jsonl and never appears in subsequent  /usage  output or  /chronicle queries.

The only reliable way to persist usage statistics is to exit the CLI entirely with Ctrl+D, which is disruptive when the intent is simply to start a fresh session.

Affected version

GitHub Copilot CLI 1.0.67.

Steps to reproduce the behavior

  1. Start the Copilot CLI and do some work (several turns, tool calls, etc.)
  2. Run  /usage  — note the token totals shown
  3. Run  /new  to start a fresh session
  4. In the new session, run  /resume  to return to the previous session
  5. Run  /usage 

 /usage  shows zero / only the new segment's usage.
The previous session's token counts are gone.
Inspecting  ~/.copilot/session-state/<uuid>/events.jsonl  confirms no  session.shutdown  event was written for the outgoing session.

Expected behavior

 /usage after step 5 shows the token totals from before  /new  was called (same as step 2).

Additional context

Running /usage before /new shows the numbers correctly — they exist in memory at that point. The data is only lost because  /new  does not flush the outgoing session before switching.

The fix appears straightforward: trigger  session.shutdown (and flush modelMetrics to  events.jsonl) for the outgoing session when /new is invoked, before initialising the new one — the same cleanup path that Ctrl+D takes.

Environment

• OS: Linux (dev container)
• CLI version: 1.0.67

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:sessionsSession management, resume, history, session picker, and session state

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions