Supported terminals
TermBridge works with every terminal app, because it doesn’t hook the terminal — it hooks the shell.
Why “every terminal” is literally true
Most remote tools integrate with a specific terminal emulator. TermBridge sits one layer down: a guarded snippet in your ~/.zshrc re-execs your interactive shell inside an agent-owned PTY. Whatever app is displaying that shell is irrelevant — the agent sees the shell either way.
That means all of these show up the same way, with no per-app setup:
| Terminal | Notes |
|---|---|
| iTerm2 | Windows, tabs, and splits all appear as separate shells. |
| Terminal.app | The macOS built-in. Works out of the box. |
| VS Code | Integrated terminals appear — watch a build inside the editor from your phone. |
| Zed | Same — the editor’s embedded terminal is visible. |
| Cursor | Integrated terminal supported. |
| tmux | tmux panes show up; combine with TermBridge for the full picture. |
SSH clients and session-spawning apps can’t reach an editor’s embedded terminal at all — that’s the gap TermBridge fills.
A note on editor terminals
Editors like Zed and VS Code capture your shell environment by running zsh -lic '<command>' at startup. The shell hook specifically detects this run-and-exit invocation and skips wrapping it, so environment capture still works and the editor never breaks. Only genuine interactive sessions get wrapped. (This is one of the hook’s safety guards — it always fails toward a normal shell.)
Shells
The hook targets zsh, the default interactive shell on modern macOS. If you’ve switched your login shell to something else, TermBridge’s wrapping won’t apply to it.
Next
Read about the Security model that protects all of this.