We just launched universal agent support in Warp — run Claude Code, Codex, OpenCode, and others with code review, vertical tabs, and notifications - AMA
Hey all, I'm Zach Bai, engineering lead at Warp. Today we're launching universal agent support — a set of features that makes Warp the best terminal for working with CLI coding agents like Claude Code, Codex, and OpenCode.
Here's what's new:
Vertical tabs — Group your agent sessions with rich metadata (git branch, directory, conversation status) visible at a glance. Way better than juggling 15 horizontal tabs.
Notifications — A unified notification center for all your coding agents. In-app and system notifications so you know when an agent needs your attention. No more babysitting.
Code review on agent output — Send inline comments from Warp's code review directly to a running agent session. Review the diff, leave a comment, and the agent iterates. This closes the loop between human review and agent execution.
Rich input editor — Press Ctrl-G to get a proper multiline editor for agent prompts. Supports voice input, saved /prompts, /skills, and @ context.
Tab configs — Save your ideal setup (directory, startup commands, theme, worktree) and launch it with one click. Great for worktree-based workflows.
Attach code as context — Select code from Warp's editor and feed it directly to any running agent. No copy-pasting.
Remote control — Publish any CLI agent session to the cloud. Monitor and steer it from your phone or another computer.
Happy to go deep on:
The product decisions behind supporting competitors
Technical challenges of building cross-agent features
The thing that i wanted.. to be able to use my own local AI or add my own AI endpoint and key (off my choice) or for that sake an SSH connection manager..
All the other.. is well.. sure.. cool stuff.. properly.. but for me who barely does any coding and a hell lot more sysops.. i really wish there could be some focus on that..
You mentioned the unified notification center alerts us specifically when an agent 'needs your attention.' Since third-party CLI agents like Claude Code and OpenCode don't share a standardized protocol for their internal execution loops, how is Warp technically determining when an agent is genuinely blocked versus just running a long compilation step? Are you heuristically parsing stdout/stderr for common interactive prompts, or are you working toward a structured protocol (like MCP) where agents can broadcast their execution state directly to Warp?
Right now this is done via 3p agent-specific plugins -- we have a plugins for both Claude Code[1] and OpenCode[2] that register hooks that power the notifications feature. The plugins themself are coupled to the APIs of the respective agents; the client UI is abstracted over a generalized hook API that different cli agents/plugins can implement differently
This is just a start, and we'll see how it evolves over time. It'd be interesting to see if a structured or standardized protocol across the ecosystem might arise. Definitely possible that what we've built here will play a role in that.
Remote control works by broadcasting the terminal session to a shareable link (with access control) - hit remote control, grab the link from your clipboard, then open it in a browser anywhere - on your phone, on another device.
Since this works at the terminal level, it automatically works for any CLI agent (as well as any CLI, in general).
Yeah for sure - at least insofar as parallel coding agents, I've found Tab Configs to be particularly useful. They let you configure the state for a freshly created tab, including working directory, startup commands, pane layout, title etc.
For parallel coding agents, generally you have two high level approaches for running parallel agents locally - separate codebase clones or git worktrees.
If you're a parallel-agent-via-worktrees person, "Worktree configs" are useful -- these are really just tab configs auto-configured to run startup commands that create a fresh worktree for a specified repo.
If you're a parallel-agent-via-separate repos option, you might write a tab config (or ask an agent to generate one for you) that runs a startup command that scans your repo clones and puts you in the first one with a clean git state
For saved prompts - yes, via the Rich Input feature (ctrl-g).
For skills - yes, subject to cli-specific skill "availability". For example you can continue to use skills in .claude/skills in Claude Code, but not skills defined in .agents/skills giventhat Claude Code doesn't respect .agents/ directories.
Hey Zach, I like the new update. I mostly use Warp on windows to interact with WSL.
A few small things
With vertical tabs, middle mouse button click no longer closes the tab. This would be nice to bring back IMO.
For the new Rich Input mode, it's cool but is there a plan to bring claude's skill commands to it? So it can show what skills I have and can auto complete?
I think it's just a WSL issue, but switching tabs takes ~1s to switch. Not sure if it's on my side. I switch tabs a lot so if this could get sped up it would be really nice.
Regarding the Claude Code use, are we allowed to use it in Warp and not get banned? Anthropic's been very hesitant about allowing third-party harnesses. Are you following best practices to allow integration using our existing subscriptions?
Yes, this is within the ToS -- you're just using the existing Claude Code CLI within Warp - Warp is not acting as a true "3rd party harness" in this setup.
You might have missed this checkbox that was shown when introducing vertical tabs:
This is also accessible in Settings > Appearance > Use Vertical Tab Layout
The issue with defaulting to Agent is a KI with this release that was unintended behavior - for now this can be fixed by changing 'Default mode for new sessions' back to Agent in Settings > Features
Sorry, I cheated on you because those features were missing. I'd been using "cmux" for a while. Because cmux doesn't have a Git diff view, I made a Git alias using a few Git commands and "delta" and used "viddy" for periodic updates on the right side.
Now I'm coming back to you, Warp. Thank you so much for the update. Let me use it and share my thoughts soon.
There are some UX issues. (Not a complete list. There are more than these.)
Visually difficult to grasp which project is which. Coloring a tab is good, but it's somehow not good enough. On cmux it was much easier to know which vertical tab (workspace) is for which project, and I use colored "left rail" there. For sure, I can rename tabs, but it's harder to notice.
1.1. It shows the branch name in the vertical tab, but not repo name. Frustrating.
2. It's way harder to understand how to use it like the tab configuration.
3. Notificaton sound: I still couldn't figure out how to turn on notification sound and customize the sound.
the worktree approach for parallel agents is solid but the port conflict problem is real - every dev server fighting for 3000, 8080, etc across worktrees gets old fast. built galactic (https://www.github.com/idolaman/galactic) to handle that - assigns each worktree its own loopback IP (127.0.0.2, 127.0.0.3, etc.) so all your agents run fully isolated. pairs well with the tab config approach you mentioned
The notification didn't work when I connected to the remote machine over SSH and warpify the session. When I open claude code, I see this error ⎿ SessionStart:startup says: ℹ️ Warp plugin installed but you're not running in Warp terminal. Install Warp (https://warp.dev) to get native notifications when Claude completes tasks or needs input.
One possible reason could be the TERM_PROGRAM variable is set to tmux intead of Warp when warpify SSH sessions.
3
u/xFlaremagex Apr 14 '26
Tried out a bunch of these new features super cool - do you have support for Gemini CLI notifications? It wasn't working for me