Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

ACP: slash commands execute but never stream their output

Abierto Apto para principiantes
#54,371 1 comentario 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
typescript
Área
cli

Línea de trabajo

Empieza leyendo packages/cli/src/acp/turn.ts, especialmente la ruta del prompt de comandos en torno a submit y Fiber.join(events). Sigue cómo se libera la suscripción a eventos de cada turno y compárala con la ruta normal del prompt. Reprodúcelo con un comando slash de ACP; se considera terminado cuando su salida y cualquier actualización de permisos se envían mediante session/update antes de que termine el turno.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

reproduced

Description

User-visible symptoms

Running as an ACP agent (in JetBrains Rider 2026.2): slash commands (built-in like /init or custom) execute, but their output is not visible in the chat.

Plain prompts in the same session work normally.
Another ACP agent in the same IDE does show its slash-command output, so the client's rendering path is fine.

At the protocol level

session/prompt replies end_turn immediately; no session/update follows for that turn.

Example

Rider's ACP log (llm.agent.extended.logging=true):

20:44:23,425  → session/prompt id=5  {"prompt":[{"type":"text","text":"/my-test"}]}
20:44:23,457  ← {"stopReason":"end_turn","_meta":{}}      ← 32 ms
              … no ACP traffic for 4 m 16 s …
20:48:39,687  → session/set_config_option id=6

The command did run (it produced its effect).
OpenCode's session_message table shows that the turn ran to completion after it was closed on wire:

seq 20  user       20:44:23.531  <command body>   ← AFTER end_turn
seq 21  assistant  20:44:24.281 → completed 20:44:32.895  <agent reply>
...
seq 28  idle       20:44:32.901  outcome=succeeded

my-test was advertised in available_commands_update so this is the recognized-command path (not the unknown-/ fallthrough).


OpenCode version

2.0.26


Steps to reproduce

  1. Install OpenCode as an ACP agent in Rider.
    I used a custom agent path.
    1.1. Install OpenCode independently from Rider.
    1.2. Add OpenCode as a custom agent:
  "default_mcp_settings": {},
  "agent_servers": {
    "OpenCode": {
      "command": "full/path/to/opencode.exe",
      "args": ["acp"]
    }
  }
}
  1. Run any slash command.

Operating System

Windows 10


Suspected cause

packages/cli/src/acp/turn.ts:

yield* submit(attached, prompt)
if (prompt.command) return "succeeded" as const   // ←
return yield* Fiber.join(events)

For command prompts the turn returns succeeded before Fiber.join(events), and then the release step closes the per-turn event subscription, so no session/update (and no permission.asked) can be emitted.

Possible fix

PR #49208 (open; probably needs rebase onto current v2).

Lenguaje dominante
TypeScript
Estrellas
213k
Forks
28.4k
Merge medio
8 h 32 min
PR fusionados (30 d)
253

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de anomalyco/opencode

Todos los issues de anomalyco/opencode

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.