coder / coder/claudecode.nvim

[FEATURE] terminal context sharing

Abierto
#229 1 comentario 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Lua
Estrellas
3.1k
Forks
216
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## Feature Description

Add a way to send terminal output as context to the Claude Code session, similar to how
Cursor IDE surfaces terminal output as attachable context in a prompt.

## Use Case

A common workflow: run tests or a build in a terminal pane, see an error, then want Claude
to help fix it. Today the only option is to manually copy the output and paste it into the
Claude session — bypassing the structured file-reference context that `ClaudeCodeAdd`
provides.

A command like `ClaudeCodeAddTerminal` that accepts a file path would let any terminal
emulator (tmux, wezterm, kitty splits, etc.) pipe captured output directly into Claude's
context using the same IPC mechanism already used by `ClaudeCodeAdd`. This would bring
parity with Cursor's terminal context feature for Neovim users.

## Proposed Solution

Expose a command that reads terminal content from a file:

:ClaudeCodeAddTerminal /path/to/captured-output.txt

The capture mechanism (how content gets into that file) is left to the user's tooling,
keeping the plugin terminal-agnostic. Users on tmux, wezterm, or any other terminal can
each wire up their own capture script.

## Alternatives Considered

**Using `ClaudeCodeAdd` with a temp file** — this is the current workaround (see below). It
works but relies on an implicit convention of writing to a temp file rather than a
dedicated command with clear semantics.

**Full tmux integration in the plugin** — the plugin could natively integrate with `tmux
capture-pane`, but this would make it tmux-specific and exclude users on other terminal
emulators.

## Additional Context

**Workaround (tmux-specific):** a tmux copy-mode binding that pipes the visual selection
through a script, which writes it to a temp file and triggers `ClaudeCodeAdd` in the Neovim
pane.

`tmux-claude-add.sh`:
```bash
#!/bin/bash
cat > /tmp/tmux-claude-context.txt

NVIM_PANE=$(tmux list-panes -F '#{pane_index}:#{pane_current_command}' | grep -i nvim | cut
-d: -f1 | head -1)
if [ -n "$NVIM_PANE" ]; then
tmux send-keys -t "$NVIM_PANE" ":ClaudeCodeAdd /tmp/tmux-claude-context.txt" Enter
fi

tmux.conf:
bind-key -T copy-mode-vi 'A' send -X copy-pipe-and-cancel
"~/.dotfiles/scripts/tmux-claude-add.sh"
```

Select any text in a terminal pane with tmux copy mode, press A, and it lands in Claude's
context immediately. Works well but requires each user to implement the capture and wiring
themselves. A dedicated ClaudeCodeAddTerminal command would make this pattern accessible
without terminal-specific scripting.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza con el comando existente `ClaudeCodeAdd` y la ruta IPC que utiliza; el issue no indica archivos del repositorio ni tests. Añade el comando propuesto `ClaudeCodeAddTerminal` para que acepte una ruta de archivo, lea el contenido capturado de la terminal y lo envíe mediante el mismo mecanismo de contexto. La tarea está terminada cuando la captura de la terminal sigue siendo externa y el contenido del archivo llega a la sesión de Claude como contexto adjuntable.

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

Evaluación

Stack tecnológico
lua, neovim
Área
tooling
Tipo de issue
Nueva funcionalidad
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
64/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.