coder / coder/claudecode.nvim

[FEATURE] terminal context sharing

Aperta
#229 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Lua
Stelle
3.1k
Fork
216
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

## 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start with the existing `ClaudeCodeAdd` command and the IPC path it uses; the issue does not name repository files or tests. Add the proposed `ClaudeCodeAddTerminal` command so it accepts a file path, reads the captured terminal content, and sends it through the same context mechanism. Done means terminal capture remains external and the file contents reach the Claude session as attachable context.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
lua, neovim
Ambito
tooling
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
64/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.