Skip to content

filesystem: 8 open PRs for #4157 (edit_file dollar-sign regex) — can we triage to one? #4260

@minglong51

Description

@minglong51

Hi @olaservo (apologies for the direct ping — picking you because you merged the recent filesystem fixes #3229 and #3434),

Filing as a process question rather than a bug. Issue #4157 (edit_file newText interpreted as String.prototype.replace replacement-pattern) currently has 8 open PRs targeting the same root cause:

PR Author Filed +/-
#4158 @Christian-Sidak 2026-05-14 +80/-5
#4160 @Lubrsy706 2026-05-14 +17/-1
#4172 @dhruba-datta 2026-05-15 +40/-3
#4179 @Sean-Kenneth-Doherty 2026-05-17 +17/-1
#4224 @adityachilka1 2026-05-21 +35/-1
#4225 @kgarg2468 2026-05-22 +17/-1
#4229 @simpleprogrammer2 2026-05-22 +83/-1
#4236 @he-yufeng 2026-05-23 +17/-1

All target the same JS gotcha — passing a string as the replacement makes String.prototype.replace interpret $1 / $& / $' / $` / $$ as substitution patterns. Most pick one of two approaches: (a) escape $$$ before passing, or (b) pass a callback () => normalizedNew which is interpreted verbatim per the MDN spec. The 5 PRs at +17/-1 are largely the callback-form variant (smallest diff).

Wanted to surface this as a queue-depth signal — contributors are clearly motivated to fix this (probably hitting it in their own MCP server work), but each new PR fragments review attention further. Happy to help close the duplicate set as won't merge once you pick a canonical one, if that would unblock you.

(Context: I'm not the author of any of these, just a contributor who's been working through the MCP SDK queues and noticed the pile-up.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions