coder / coder/claudecode.nvim

[FEATURE] terminal context sharing

Open
#229 1 comment 0 reactions 0 assignees View on GitHub
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.