Plugin name
copilot-cli-local-memory
Short description
Provides an explicit, deterministic local lifecycle for durable Copilot CLI instructions, stored as user-owned Markdown files.
GitHub repository
shankarnarayanb/copilot-cli-local-memory
Plugin path inside the repository
No response
Ref to review
v1.1.1
Commit SHA to review
46e45c28ae8bdb3271fffbbfe2c484dc6ac40aca
Version
1.1.1
License identifier
MIT
Author name
Shankar Balakrishna
Author URL
https://github.com/shankarnarayanb
Homepage URL
No response
Keywords
copilot-cli, memory, local-first, developer-tools
Additional notes for reviewers
How this differs from built-in Copilot Memory
Copilot Memory and this plugin address related but different workflows.
GitHub’s built-in Copilot Memory is a GitHub-managed, agent-driven service. It stores repository facts and user preferences across supported Copilot surfaces. In Copilot CLI, /memory currently controls whether that service is on or off and shows its status. Individual entries are reviewed or deleted through GitHub settings, and unused memories can expire after 28 days.
Copilot CLI Local Memory instead manages the CLI’s documented local modular-instruction files:
/remember deterministically saves exactly the caveat requested by the user.
/memories lists and searches locally stored entries.
/forget removes a specific entry from the CLI.
- Each entry is an ordinary
.instructions.md file that the user can read, edit, back up or delete.
applyTo globs can restrict an instruction to relevant files.
- Entries remain until the user chooses to remove them.
- It can be used where GitHub-managed Memory is disabled but local plugins and custom instructions are permitted.
The plugin therefore complements Copilot Memory rather than replacing or bypassing it. Its specific value is local ownership, explicit capture and a deterministic lifecycle for durable instructions.
An open Copilot CLI feature request also identifies local, plain-Markdown memory as a separate requirement when remote Memory is unavailable. That proposal is broader and agent-initiated, whereas this plugin keeps capture explicit and user-controlled:
github/copilot-cli#2930
Why this exists
Developers often realise that something is worth preserving while they are already working:
- “Don’t touch production until you’ve shown me the dry run.”
- “When this access token expires, refresh it once before retrying.”
- “This generated directory is rebuilt automatically; don’t edit it by hand.”
These instructions can be maintained manually, but stopping to locate and edit an instruction file breaks the flow at the moment the rule is discovered. This plugin lets the user say “save this decision to local memory” and continue working.
The scope is deliberately small. It is not a transcript store, knowledge base or RAG system. It requires no PostgreSQL, SQLite, vector database, embedding model or background server. The installed runtime consists of two JavaScript files and uses only Node.js built-ins.
The documentation makes clear that storage is local, but applicable instructions may still be included in prompts sent to Copilot. It also warns users not to store secrets and states that the plugin does not bypass enterprise policy.
Extensions are currently experimental in Copilot CLI, so users must enable experimental features with copilot --experimental or /experimental on.
References
Submission checklist
Plugin name
copilot-cli-local-memory
Short description
Provides an explicit, deterministic local lifecycle for durable Copilot CLI instructions, stored as user-owned Markdown files.
GitHub repository
shankarnarayanb/copilot-cli-local-memory
Plugin path inside the repository
No response
Ref to review
v1.1.1
Commit SHA to review
46e45c28ae8bdb3271fffbbfe2c484dc6ac40aca
Version
1.1.1
License identifier
MIT
Author name
Shankar Balakrishna
Author URL
https://github.com/shankarnarayanb
Homepage URL
No response
Keywords
copilot-cli, memory, local-first, developer-tools
Additional notes for reviewers
How this differs from built-in Copilot Memory
Copilot Memory and this plugin address related but different workflows.
GitHub’s built-in Copilot Memory is a GitHub-managed, agent-driven service. It stores repository facts and user preferences across supported Copilot surfaces. In Copilot CLI,
/memorycurrently controls whether that service is on or off and shows its status. Individual entries are reviewed or deleted through GitHub settings, and unused memories can expire after 28 days.Copilot CLI Local Memory instead manages the CLI’s documented local modular-instruction files:
/rememberdeterministically saves exactly the caveat requested by the user./memorieslists and searches locally stored entries./forgetremoves a specific entry from the CLI..instructions.mdfile that the user can read, edit, back up or delete.applyToglobs can restrict an instruction to relevant files.The plugin therefore complements Copilot Memory rather than replacing or bypassing it. Its specific value is local ownership, explicit capture and a deterministic lifecycle for durable instructions.
An open Copilot CLI feature request also identifies local, plain-Markdown memory as a separate requirement when remote Memory is unavailable. That proposal is broader and agent-initiated, whereas this plugin keeps capture explicit and user-controlled:
github/copilot-cli#2930
Why this exists
Developers often realise that something is worth preserving while they are already working:
These instructions can be maintained manually, but stopping to locate and edit an instruction file breaks the flow at the moment the rule is discovered. This plugin lets the user say “save this decision to local memory” and continue working.
The scope is deliberately small. It is not a transcript store, knowledge base or RAG system. It requires no PostgreSQL, SQLite, vector database, embedding model or background server. The installed runtime consists of two JavaScript files and uses only Node.js built-ins.
The documentation makes clear that storage is local, but applicable instructions may still be included in prompts sent to Copilot. It also warns users not to store secrets and states that the plugin does not bypass enterprise policy.
Extensions are currently experimental in Copilot CLI, so users must enable experimental features with
copilot --experimentalor/experimental on.References
https://docs.github.com/en/copilot/concepts/agents/copilot-memory
/memorycontrols and entry management:https://github.blog/changelog/2026-05-26-copilot-memory-has-more-controls-for-deletion-scope-and-the-copilot-cli/
https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions
Submission checklist