v0.9.0 · Now available

You drive.
Claude rides along.

A terminal companion that rides along in your shell session, building context as you work. When you need help, it's already up to speed.

tether shell — work session
your terminal
$ ssh prod-01
prod-01 $ tail -f app.log
[502 Bad Gateway] upstream timed out
[502 Bad Gateway] upstream timed out
[502 Bad Gateway] upstream timed out
prod-01 $
tether ASSIST 12ctx 1 msg ~320tok
why are these 502s spiking?
Claude14:22

Upstream timeout from nginx. worker_processes is likely saturated. Check:

Run this command?
$ journalctl -u nginx -n 50
Enter run e edit x reject a allow session
↑ ~320 tok ↓ ~85 tok
>

Stop re-explaining what you just did.

You're the one doing the work. You're in the terminal, SSH'd into a box, tailing logs, running commands, figuring things out. When you want a second opinion from AI, you have to stop, copy output, explain what you've been doing, and rebuild the context from scratch. Every single time.

Tether fixes that. Run your shell through tether shell and it rides along in the background, capturing output as you work. When you ask a question in tether chat, Claude already knows what's been happening. No copy-paste. No re-explaining. No context loss.

You work normally

SSH into servers, read logs, run commands. Tether is invisible until you need it. No interruptions, no approval dialogs breaking your flow.

Tether watches silently

Everything in your session is captured in real time and held in memory: commands, output, errors. Nothing is sent anywhere until you ask. Nothing is written to disk.

Ask when you're ready

Open tether chat in any terminal window and ask. Claude already knows what's going on. No copy-paste, no re-explaining, no context loss.

Claude arrives informed, not overwhelmed.

Tether doesn't just dump your terminal history into every message. It watches as you work, then figures out what's actually relevant to your question, so Claude has the right picture without you spending a fortune on tokens or doing any curation yourself.

1
It watches while you work
Everything in your session is captured in the background: commands, output, errors. You don't manage it. Nothing is sent anywhere until you ask.
Automatic · no setup per question
2
It finds what matters to your question
When you ask something, Tether scans your recent activity and picks out the lines most relevant to what you asked. Error messages and failures always surface, even if your question doesn't use the exact same words.
Relevant lines selected · errors always bubble up
Claude gets the right picture
Not a raw dump. A curated snapshot of the relevant terminal output, your conversation history, and a rolling summary of your session. Claude knows what you've been doing without you having to explain it.
everything
captured
what matters
sent
less
spent on tokens
Curious what's being sent? Type /debug inside chat to see exactly what Tether included in each message and why.

You set the level of trust

Switch between modes at any time with tether mode <name>. Start conservative and open up as context warrants.

WATCH

Watch

Read-only. No execution risk.

Claude can answer questions, explain errors, and suggest commands in plain text. It cannot type into your terminal. The default: no risk, all insight.

Answer questions
Explain errors
Suggest commands (text only)
Run commands
ASSIST recommended

Assist

Propose + approve. You stay in control.

Claude proposes commands. A proposal UI appears: you approve, edit, or reject each one with a single keystroke. Press [t] in the chat TUI to enable auto-run, which automatically executes commands on your allow list.

Everything in Watch
Propose commands
You approve each proposal
Optional auto-run for allow-listed commands
Switch modes anytime
$ tether mode watch    # read-only, no execution
$ tether mode assist   # proposals, you approve each one
Ready to switch seats?

Tether is built for you to drive. /handoff is how you hand the keys to Claude.

You've been in control, watching, asking questions, narrowing things down. When you know what needs doing and want Claude Code to take over, type /handoff <task>. Tether bundles everything it knows into a structured brief: your current directory, git state, detected errors, and the relevant terminal output. Claude Code launches with it as its first message and starts informed, not cold.

tether chat
tether ASSIST 42ctx 8 msg
/handoff nginx workers are saturated, fix the config and reload
Handoff to Claude Code
goalfix nginx worker saturation
dir/etc/nginx
branchmain · 2 uncommitted
errorsworker_processes limit (×14)
upstream timed out (×8)
context42 lines selected
Enter launch x cancel
review handoff above

Built for real terminal work

Persistent context

Claude sees your terminal history before you ask anything. No copy-paste, no re-explaining what you've been doing.

Delta-only updates

Only new output is sent each message, not the full buffer. You're not paying for 500 lines of log output every time you ask a question.

Relevance filtering

Context is scored against your question. Irrelevant lines are dropped. The 5,000-line buffer is trimmed to up to 200 focused lines before anything is sent.

SSH-transparent

Tether captures everything in your local PTY, including SSH session output. No install needed on remote hosts. Works anywhere you can SSH.

Abort anytime

Ctrl+K stops a streaming response mid-flight. Change your mind, rephrase, and ask again. No need to wait for Claude to finish.

Conversation memory

Chat history persists across sessions and compacts automatically. Pick up right where you left off, without token bloat.

Rolling summary

A background summarizer generates a narrative of your session every 5 minutes. Claude gets the big picture without raw line-by-line history.

Token visibility

Each response shows estimated prompt and response token cost. Type /debug in chat for a full breakdown: keywords extracted, lines fetched vs. filtered, and per-component token estimates.

Claude's output is never trusted directly

Every command Claude suggests passes through a classifier before anything happens. Claude can influence what is proposed, but never what is executed.

Hard deny
Fork bombs, pipe-to-shell (curl | bash, wget | sh). Always blocked. Not overridable by anyone.
Hard protect
sudo, output redirects (>, >>, tee), command chaining (&&, ;). Always proposed, never auto-executed.
Config rules
Your deny, protect, and allow lists in ~/.tether/config.json. Full control over what is trusted.
Session allow list
Approve a command once with [a] in the proposal UI. It auto-executes for the rest of the session without touching your config.
Claude suggests a command
Safety classifier checks it
Dangerous?
Blocked
Sensitive?
Always ask you first
Approved?
Run if auto-run on
Terminal data is held in memory only, never written to disk. No Tether servers. No telemetry. Only traffic is Claude Code CLI → Anthropic API, same as using Claude Code normally.
Terminal data stays local Buffered in memory only. Never written to disk. Gone when the daemon stops.
No Tether servers No telemetry, no analytics. The only network traffic is Claude Code CLI → Anthropic API.
Fully open source The complete data path from capture to prompt is traceable in the source. Audit it yourself.

One command and you're done

The installer detects your OS and architecture, downloads the right binary to /usr/local/bin, and sets up shell integration automatically. The only prerequisite is the Claude Code CLI: claude must be on PATH and logged in. Tether uses it for all AI calls, so there's no separate API key or billing.

1
Install Tether
shell
curl -fsSL https://raw.githubusercontent.com/AllDayJon/Tether/main/install.sh | sh
Then open a new terminal for the shell integration to take effect.
2
Start a tether shell session
shell
tether shell
# work normally — tether watches in the background
3
Open chat in another terminal
shell
tether chat
# ask anything — Claude already has context
Requirements
Linux or macOS
x86_64 or ARM64
·
Claude Code CLI
claude must be on PATH and logged in
·
bash / zsh / fish
Shell integration supports all three

Everything you need

Setup
tether installInstall shell integration (bash/zsh/fish)
tether uninstallRemove shell integration and config
tether doctorCheck all dependencies
Session
tether shellStart your shell with context capture
tether statusActive sessions, mode, daemon state
tether logsStream the daemon log live
Chat
tether chatOpen the chat TUI in any terminal
tether ask <question>One-shot question to stdout
tether mode [watch|assist]Show or change mode
Context & history
tether tokensContext buffer size
tether summaryRolling session summary
tether historyConversation history + token stats
Chat window keybindings
EnterSend message
PgUp PgDnScroll history
Ctrl+KAbort streaming response
Ctrl+LClear conversation
Ctrl+CClose chat
eEdit a proposed command before running
aAllow command for the rest of the session
x EscReject a proposed command
Chat slash commands
/debugToggle debug block: keywords, line counts, token breakdown
/clearClear conversation history
/handoff <task>Package session context and launch Claude Code with it pre-loaded

Common questions

The core difference is who's doing the work. With most AI tools, you hand the AI a goal and it executes. That's great for planned tasks, but it only knows what you tell it. The moment you go off-script and start doing things yourself, the AI loses context entirely.

Tether is built for when you're already at the wheel. You work normally: SSH into servers, tail logs, poke around. Tether keeps Claude up to speed in the background. When you want help, you just ask. No copy-paste, no re-explaining what you've been doing for the last ten minutes.

Tether itself is free and open source. The only requirement is the Claude Code CLI. You'll need a Claude subscription with claude installed and logged in on your machine. Tether uses it for all AI calls, so there's no separate API key, no extra billing, and no Tether account.

A focused snapshot of your recent terminal activity, filtered for relevance to your question, plus your conversation history and a brief summary of your session. Tether is careful about what it includes; irrelevant output is dropped so you're not burning tokens on noise. Type /debug in chat to see exactly what went into any message.

No. Tether has no servers of its own and collects no analytics. The only network traffic is the Claude Code CLI (claude -p) talking to Anthropic's API, the same traffic as using Claude Code directly, governed by Anthropic's privacy policy.

No. tether shell runs on your local machine and captures everything you see, including output from SSH sessions running inside it. Tether never needs to be on the remote host.

Whatever you already use. Run tether shell to start your session and tether chat in a second terminal window or pane. If you use tmux, iTerm2, Kitty, or Alacritty, it all works the same way.