[FEATURE] terminal context sharing
- 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