6 views
-/https://github.com/berriai/litellm/issues/34778
GitHub · issue

#34778 [Bug]: git-subdir path validation rejects dot-prefixed segments (e.g. .claude/skills/...)

  • State: open
  • Author: @Noa-Aily
  • Labels: bug, proxy

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

`POST /claude-code/plugins` returns 400 when the git-subdir path starts with a dot:

``` { "detail": { "error": "git-subdir 'path' must be a relative path of the form 'segment/segment' (alphanumeric, dots, hyphens, underscores only)" } } ```

The error message lists dots as valid characters, but the actual regex (_VALID_GIT_SUBDIR_PATH_RE) requires each segment to start with [a-zA-Z0-9], so a leading dot is never accepted.

**What I expected to happen** Dot-prefixed segments are accepted. Directories like .claude/ are conventional (same as .git/, .github/) and a reasonable caller expects them to work given the advertised character set.

### Steps to Reproduce

1. Run LiteLLM proxy v1.91.0 2. POST /claude-code/plugins with a git-subdir source whose path starts with a dot: ``` { "name": "my-skill", "source_type": "git-subdir", "url": "https://github.com/org/repo.git", "path": ".claude/skills/my-skill" } ``` 3. Receive 400: "git-subdir 'path' must be a relative path of the form 'segment/segment'"

### Relevant log output

```shel…

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (2 events)
#0 of 0 · 31d17h58m48s ago — entered · #import:https:::github.com:berriai:litellm post #2868
The right issue is substantially harder because it requires protocol-aware request translation, version negotiation or routing, preservation of existing compatibility behavior, and broader integration testing across A2A versions. The left issue is a localized validation-rule correction with limited regression surface.
#0 of 0 · 31d17h47m21s ago — current · #import:https:::github.com:berriai:litellm post #3069
The left issue is harder because it involves diagnosing and synchronizing client-side routing, browser history events, and rendered Admin UI state across multiple navigation paths, with regression testing for back/forward behavior. The right issue is comparatively localized to validation logic and focused endpoint tests.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search