microsoft / microsoft/vscode

create_file tool reports success on /memories/ virtual paths but writes nothing (silent no-op)

Open
#331,666 0 comments 0 reactions 1 assignee Claimed by @roblourens View on GitHub
Dominant language
TypeScript
Stars
193k
Forks
42.4k
PR merge metrics
PR metrics pending

Description

**Type: Bug**

## Summary

The `create_file` tool silently no-ops when given a `/memories/...` filePath (the virtual filesystem exposed by the memory tool). It returns **"The following files were successfully edited"** but no file is created anywhere on disk — not at a literal `/memories/` path, and not in the physical memory store. The agent (and user) get false confirmation that memory was persisted.

## Reproduction

1. Agent-mode session where the memory tool is available (system prompt describes `/memories/` user/session/repo scopes).
2. Agent calls `create_file` with `filePath: /memories/repo/test-note.md` (any content).
3. Tool response: success — "The following files were successfully edited: /memories/repo/test-note.md".
4. Verification:
- `ls /memories` -> `No such file or directory` (path is virtual, never created literally)
- Physical memory store `~/.vscode-server/data/User/workspaceStorage//GitHub.copilot-chat/memory-tool/memories/repo/` does **not** contain the file
- Full-disk `find / -name "test-note*"` returns nothing

Observed twice in one session (2026-08-19). Both attempts reported success; both wrote nothing.

## Control: memory tool works

The memory tool's own `create` command, given the same path, writes correctly — the file appears in the physical store immediately (verified with `ls` + `head` on disk). The store is healthy; only `create_file` mishandles the virtual path.

## Expected behavior

Either:

- `create_file` rejects `/memories/...` paths with an error directing the agent to the memory tool, **or**
- the write is routed into the memory store.

It must not return success without writing anything — silent data loss with a false confirmation is the worst outcome. Agents that maintain persistent memory via file tools will silently lose everything on session end.

## Impact

- Agent believes memory was saved; knowledge is gone next session.
- No error surfaces anywhere — detecting it requires explicit on-disk verification.
- Affects any agent instructed to keep notes/memory files via the standard file tools.

## Environment

| Item | Value |
|---|---|
| VS Code | 1.133.0 (commit a5b500951314efd502d07465bd138dfbd714a960) |
| Connection | `code tunnel` (CLI server, Linux x86_64 headless) |
| Copilot Chat (bundled) | 0.61.0 |
| OS | Linux (Debian 13, kernel 6.12) |
| Mode | Agent mode, third-party model via Copilot |

## Related

- #12924 (closed as not_planned) — `create_file` writing 0-byte files on **real** paths; this report is a distinct variant: **virtual** `/memories/` paths where nothing at all is written.
- microsoft/vscode#328189 — same family of Copilot write-tool dispatch issues.

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.