Skip to content

[FEATURE] terminal context sharing #229

@cperalt

Description

@cperalt

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:

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions