Context duplication wastes tokens: duplicate communication/citing_code, duplicate rules, and repeated file-state blocks

Version: 2.3.29 (system setup)
VSCode Version: 1.105.1

I’m consistently seeing duplicated context blocks in the model input for a single chat turn. This appears to waste tokens, reduce the effective context window, and cause earlier content to be truncated sooner in longer sessions.

Duplications observed (high frequency)

and <citing_code> contain nearly identical content (e.g., the same “code block / code reference format” guidelines, including sections like “Required Components … startLine/endLine/filepath …”).
<cursor_rules_context> duplicates <always_applied_workspace_rules> (the same rule content injected twice in different containers).
<open_and_recently_viewed_files> appears multiple times (once at top-level and again nested inside <additional_data>).

here’s part of the duplicated content :

```

You must display code blocks using one of two methods: CODE REFERENCES or MARKDOWN CODE BLOCKS, depending on whether the code exists in the codebase.

## METHOD 1: CODE REFERENCES - Citing Existing Code from the Codebase

Use this exact syntax with three required components:

```startLine:endLine:filepath

// code content here

```

Required Components

1. **startLine**: The starting line number (required)

2. **endLine**: The ending line number (required)

3. **filepath**: The full path to the file (required)

```

Hey there!

  • What model are you using?
  • I’m having a tough time parsing what you mean by “duplicated content”. Could you share some screenshots?

actually it’s not a problem that i see,since i cant observe your system prompt directly. But the Composer 1 and GPT 5.2s all tell me that they notice some content in the <cursor_rules_context> and <always_applied_workspace_rules> are the same .And then they said there is more content in the prompt appears to have the same problem and they recommend me to report this issue .

Whatever it can still be model hallucination though.

they’ve given me some example :slight_smile:


<communication>

You must display code blocks using one of two methods: CODE REFERENCES or MARKDOWN CODE BLOCKS, depending on whether the code exists in the codebase.

...

Required Components

1. **startLine**: The starting line number (required)

2. **endLine**: The ending line number (required)

3. **filepath**: The full path to the file (required)

...

</communication>

...

<citing_code>

You must display code blocks using one of two methods: CODE REFERENCES or MARKDOWN CODE BLOCKS, depending on whether the code exists in the codebase.

...

Required Components

1. **startLine**: The starting line number (required)

2. **endLine**: The ending line number (required)

3. **filepath**: The full path to the file (required)

...

</citing_code>

Thanks @user1717. It would be great if you could share a Request ID with privacy mode disabled (Cursor Settings > General > Privacy) so I can get a better idea of what you’re talking about!