[Feature] Treat unknown or wrong-case names in [tools] disabled/enabled as errors
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Start by locating the validation for the [tools].disabled and [tools].enabled configuration, then compare it with the configuration docs' tools section. Preserve exact-name matching and empty enabled-list behavior; done means unmatched, malformed, or wrong-case names fail with the existing warning text while naming the relevant entry or exact built-in name.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What feature would you like to see?
When [tools].disabled (or [tools].enabled) contains a name that matches no built-in tool and no MCP tool, fail loudly — exit with an error or refuse to start the session — instead of only printing a warning.
Matching is case-sensitive today, so disabled = ["agent"] does not disable Agent, and the tool silently stays available.
Concretely: keep the current warning text, but make it a hard failure for the three shapes the docs already say never match:
- a wildcard that is not an
mcp__pattern, - an
mcp__name missing the tool segment, - any name that no registered tool has.
Additional information
The configuration docs (tools section) say those shapes "are reported with a warning" and that matching is case-sensitive. A denylist that is silently inert after a one-character case mistake is exactly how a session keeps a tool the operator tried to turn off — including Agent and AgentSwarm.
Behaviour that should keep working: exact names such as disabled = ["Agent", "AgentSwarm"], and an empty enabled list still meaning "no allowlist constraint", as documented.
Suggested acceptance check: with disabled = ["agent"] the process refuses to run and the message suggests the exact built-in name Agent; with disabled = ["NoSuchTool"] it refuses and names the unmatched entry.
- Lenguaje dominante
- TypeScript
- Estrellas
- 7.5k
- Forks
- 1.2k
- Merge medio
- 12 h 45 min
- PR fusionados (30 d)
- 329
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de MoonshotAI/kimi-code
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
MoonshotAI/kimi-code#4010 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
MoonshotAI/kimi-code#4008 ·
Los mantenedores suelen responder en 1 día
-
docs(zh): configuration/providers.md is missing the "OAuth and credential injection" sectionAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
MoonshotAI/kimi-code#3947 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
MoonshotAI/kimi-code#3836 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
MoonshotAI/kimi-code#3790 ·
Los mantenedores suelen responder en 1 día
Todos los issues de MoonshotAI/kimi-code
Issues similares
-
Add: Digi World (Romania) SDAbiertocheck:passed streams:add
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Fission-AI/OpenSpec#1986 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
nestjs/docs.nestjs.com#3554 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
publicodes/publicodes#868 ·
-
namespace operations
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
EclipseFdn/open-vsx.org#13488 ·
Los mantenedores suelen responder en 2 días