Coder Agents client tools: $ref in tool input schemas is not resolved
Los mantenedores suelen responder en 1 día
@ThomasK33 ya está trabajando en esto.
Desde el 12/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Client tools registered through Coder Agents (chatd) lose any $ref in their input schema. The model then guesses the referenced shape.
Evidence (live, dogfood.cdr.dev v2.38.0-devel, 2026-10-12)
I registered one client tool, create_reminder, through @coder/ai-sdk-agent's CoderLanguageModel, with delay behind a reference. I tried two forms:
| Schema form | chatd response | Model's delay argument |
|---|---|---|
draft-07: { "$ref": "#/definitions/Delay" } + definitions |
accepted | "10m" |
2020-12: { "$ref": "#/$defs/Delay" } + $defs |
accepted | "10m" |
inline { "type": "object", "properties": { "minutes": { "type": "integer" } } } |
accepted | { "minutes": 10 } |
The dialect makes no difference, so the reference most likely never reaches the model resolved. I did not verify where it is dropped (chatd's schema handling or the upstream provider call).
Impact
@coder/ai-sdk-effect derives tool schemas from Effect Schema. Any schema with an identifier annotation is emitted as a $ref (on Effect 3 and Effect 4), so such tools do not work as Coder Agents client tools. The AI Gateway path (CoderLanguageModel) is not affected by this observation (not tested live).
Options
- A. Find and fix where chatd drops or fails to resolve
$ref(coder/coder). - B. Inline (dereference) local references in the agent package before registering client tools.
- C. Document the limitation and inline only in
@coder/ai-sdk-effect.
Found during the Effect 4 migration (#144, #320). The live test there uses an inline schema.
Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high
- Lenguaje dominante
- TypeScript
- Estrellas
- 3
- Forks
- 0
- Merge medio
- 50 min
- PR fusionados (30 d)
- 136
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 coder/ai-sdk
-
chore: adopt pnpm 12Abiertoaccepted dependencies
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
coder/ai-sdk#176 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
accepted enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
coder/ai-sdk#144 · 8 comentarios ·
Los mantenedores suelen responder en 1 día
-
chore: adopt TypeScript 7Abiertoaccepted dependencies
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
coder/ai-sdk#99 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de coder/ai-sdk
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Automattic/data-liberation-agent#953 ·
Los mantenedores suelen responder en 1 día
-
README に GitHub の組織のバッジを足すAbiertodocumentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
funmary-app/funmary#399 ·
Los mantenedores suelen responder en 1 día
-
area:curator enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
CassioDalla/Scrinalia#150 ·
Los mantenedores suelen responder en 1 día
-
status: needs-triage v1-bug-bash
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
a2ui-project/a2ui#3533 ·
Los mantenedores suelen responder en 1 día
-
backend enhancement priority:P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
geolens-io/geolens#3310 ·
Los mantenedores suelen responder en 1 día