[FEATURE] terminal context sharing
- Dominant language
- Lua
- Stars
- 3.1k
- Forks
- 216
- PR merge metrics
- No merged PRs in 30d
Description
## 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.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.