github / github/copilot-cli

`store_memory` fails in v1.0.81 prereleases: `Instance id is required`

Open
#4,535 8 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area:context-memory
Dominant language
Shell
Stars
11.2k
Forks
1.9k
Avg merge
14h 16m
Merged PRs (30d)
6

Description

[From Femi's agent: GPT-5.6 Sol]

Summary

store_memory fails consistently in Copilot CLI 1.0.81 prereleases because the native memory writer is invoked without a required instance ID:

[DEBUG] [rust:copilot_runtime::tools::api::memory] Storing user memory with subject: "agent selection"
[ERROR] [rust:copilot_runtime::tools::api::memory] Failed to store memory: Instance id is required.

The failure occurs locally in the same millisecond as invocation, before the memory writer makes an HTTP request. The tool surfaces only the generic message Unable to store memory: an unexpected error occurred.

Version evidence

Observed across local Copilot session logs:

CLI version Successful writes Instance id is required failures
1.0.79 5 0
1.0.81-3 0 5
1.0.81-4 0 5
1.0.81-5 0 3

There were no memory-write attempts available for 1.0.80 or 1.0.81-0, so the precise first broken build is not yet isolated. The regression is confirmed between 1.0.79 and 1.0.81-3.

In 1.0.79, the writer opened a connection to api.enterprise.githubcopilot.com and returned Memory stored successfully. In 1.0.81-3 through 1.0.81-5, the Rust path rejects the operation immediately with the missing instance-ID error.

Reproduction

  1. Run Copilot CLI 1.0.81-5 in a GitHub-hosted repository.
  2. Invoke store_memory with a valid user-scoped payload:
{
  "scope": "user",
  "subject": "agent selection",
  "fact": "Never use Gemini models as subagents.",
  "reason": "This is a durable model-selection preference that applies across repositories and future delegated tasks.",
  "citations": "User input: \"new rule. never use gemini as a subagent for anything\""
}
  1. Observe the generic tool failure. With debug logging enabled, the underlying error is Instance id is required.

The same underlying error has occurred across unrelated subjects and multiple fresh sessions. Memory enablement and retrieval still work; only writes fail.

Expected behavior

The memory is sent to the service and persisted, as it was in 1.0.79.

Actual behavior

The native memory writer rejects the operation before sending it because its instance ID is missing.

Environment

  • macOS Darwin, arm64
  • GitHub-hosted repository with a valid origin
  • Authenticated GitHub/Copilot account
  • Memory enablement check: enabled
  • Affected builds: 1.0.81-3, 1.0.81-4, 1.0.81-5
  • Last locally verified working build: 1.0.79

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the store_memory entry point and the native Rust memory writer path described in the debug logs. Compare the working 1.0.79 behavior with 1.0.81-3 through 1.0.81-5, focusing on how the instance ID is supplied before the HTTP request. Done means valid user-scoped memories are persisted again without the Instance id is required failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.