Skip to content

feat(install): reject --set with multi-preset install#16

Merged
trick77 merged 2 commits intomasterfrom
feat/set-single-preset-only
May 11, 2026
Merged

feat(install): reject --set with multi-preset install#16
trick77 merged 2 commits intomasterfrom
feat/set-single-preset-only

Conversation

@trick77
Copy link
Copy Markdown
Owner

@trick77 trick77 commented May 11, 2026

Summary

  • --set / --set-env now require installing exactly one preset. Bundling them with multiple confs let only one preset's prompts be filled and then hung on a readline for the rest in non-TTY contexts.
  • New validateInstallPolicy in src/cli-args.ts runs after parsing and before any write. Bin layer prints the message and exits 1.
  • README updated to spell out the rule (run the command once per preset).

Test plan

  • npm test (79 pass, including 5 new validateInstallPolicy cases)
  • Manual: install mcp-http mcp-http-noauth --set name=x → clean error, exit 1
  • Manual: install --set name=x (no preset) → falls through to existing usage error
  • Manual: install mcp-http --set name=x --set url=… --set headerName=… --set headerValue=… → still works

trick77 added 2 commits May 11, 2026 08:48
--set / --set-env target a single preset. Bundling them with
multiple confs led to confusing behavior: only one preset's prompts
got filled, and the rest would block on a readline that never gets
input in a non-TTY shell script. New validateInstallPolicy guard
rejects the combination with a clear error before anything is
written.
@trick77 trick77 merged commit 7b9cad5 into master May 11, 2026
2 checks passed
@trick77 trick77 deleted the feat/set-single-preset-only branch May 11, 2026 08: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.

1 participant