`store_memory` fails in v1.0.81 prereleases: `Instance id is required`
Nobody has claimed this yet.
- 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
- Run Copilot CLI 1.0.81-5 in a GitHub-hosted repository.
- Invoke
store_memorywith 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\""
}
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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