Skip to content

Conversation

@alex-feel
Copy link
Owner

Completes the URL escaping fix for Windows by handling the remaining direct execution paths that were missed in commit 4f475ca. Previous fix addressed PowerShell scripts and Unix bash commands but missed two critical Windows CMD execution paths.

Changes:

  • Add escape_for_cmd() function to escape CMD special characters (^, &, |, <, >, %)
  • Fix direct execution fallback path to use escaped URLs on Windows
  • Fix retry path to use escaped URLs on Windows
  • Add 7 comprehensive tests for URL escaping functionality

The ^ character is escaped first to prevent double-escaping of subsequently escaped characters.

Resolves Windows CMD interpretation of & as command separator in HTTP MCP URLs.

Completes the URL escaping fix for Windows by handling the remaining direct execution paths that were missed in commit 4f475ca. Previous fix addressed PowerShell scripts and Unix bash commands but missed two critical Windows CMD execution paths.

Changes:
- Add escape_for_cmd() function to escape CMD special characters (^, &, |, <, >, %)
- Fix direct execution fallback path to use escaped URLs on Windows
- Fix retry path to use escaped URLs on Windows
- Add 7 comprehensive tests for URL escaping functionality

The ^ character is escaped first to prevent double-escaping of subsequently escaped characters.

Resolves Windows CMD interpretation of & as command separator in HTTP MCP URLs.
@github-actions
Copy link

github-actions bot commented Jan 7, 2026

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  scripts
  setup_environment.py 3479-3483, 3489
Project Total  

This report was generated by python-coverage-comment-action

@alex-feel alex-feel merged commit 5dff62a into main Jan 7, 2026
12 checks passed
@alex-feel alex-feel deleted the alex-feel-dev branch January 7, 2026 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants