Settings

Theme

Show HN: Yaw – A terminal built around the Claude Code/Codex CLI workflow

yaw.sh

4 points by tkjef 25 days ago · 6 comments · 1 min read

Reader

I use Claude Code and Codex constantly, and my workflow was always the same: launch the agent, need a shell in the same directory, open a new tab, cd back. Fifty times a day.

So I built auto-snap into Yaw — launch any AI coding CLI and it detects it and splits the pane automatically. Agent on the left, fresh shell in the same directory on the right. Works with Claude Code, Codex, Gemini CLI, and Vibe CLI. You can install any of them through a built-in wizard.

Yaw is also a full terminal (tabs, split panes, broadcast, search, session restore, WebGL via xterm.js) with a built-in connection manager for SSH, PostgreSQL, MySQL, SQL Server, MongoDB, and Redis — encrypted credentials, Tailscale auto-detection, remote Screen session management. And a chat panel that sends terminal output as context to Claude, ChatGPT, Gemini, Ollama, and six other providers.

Electron + xterm.js + React. v0.9.75, Windows and macOS.

Curious what other people's AI coding CLI setups look like — what's working, what's missing?

nachocoll 18 days ago

The friction of "launch agent, need shell in same directory, open new tab, cd back — fifty times a day" is the kind of micro-friction that compounds significantly in practice. The auto-snap workflow that detects the agent CLI and splits the pane automatically is a clean solution to a genuine ergonomic problem.

What's interesting about the AI coding CLI workflow space is that the tooling is evolving much faster than the mental models for using it well. The terminal is becoming a coordination surface — not just for running commands, but for managing the relationship between human attention and agent execution.

The Agile Vibe Coding Manifesto's concern with "automation remaining verifiable" is partly a terminal/observability problem: when the agent is running in a pane you can see, its actions are visible and interruptible. When it's a background process with only a text log, the accountability relationship degrades.

Curious how the chat panel that sends terminal output as context to the AI compares to just having the agent run in a pane you can see — that seems like the interesting design tension here: https://agilevibecoding.org

  • tkjefOP 7 days ago

    i have found that the agent cli tools running in the panes are more dialed in by having the local directory structure as context and the best streaming text interface to show ai output on. the chat panel is kind of a nice to have as it's familiar. you can highlight text on the terminal > right click > choose Fix This|Explain This and it's sent to the chat panel to dig into more.

    it's also, helpful for asking tangential questions about the current claude session, while allowing it to keep running but not interfering with it.

parsak 12 days ago

The auto-snap detection is clever - automatically splitting when it detects an agent CLI is a great UX decision.

I took a similar "own the terminal" approach with Pane (https://runpane.com), but organized around git worktrees instead of splits. Each feature gets its own isolated worktree with N terminals, so agents never step on each other's files. The worktree lifecycle is fully automated.

Curious how you handle the case where someone is running 5+ agents on different features simultaneously? That's where the worktree isolation really shines vs. splits in a single repo checkout.

Repo: https://github.com/Dcouple-Inc/Pane (AGPL-3.0)

  • tkjefOP 7 days ago

    thanks! will be checking out your project as well. if someone is running 5+ agents for different features i recommend just stating them as different objectives of the claude session and just let claude code auto-spawn sub-agents that handle them.

    it seems like ai providers are getting better at deciding when to make sub-agents on their own. but i'm actively exploring this and will hopefully have more to report back sooner than later. your approach is cool.

tkjefOP 25 days ago

Creator here, happy to answer questions. A quick demo of the auto-snap workflow: you type 'claude' or 'codex' in any pane, Yaw detects it, and splits — agent on the left, shell in the same directory on the right. When the agent exits, the split closes automatically. It sounds trivial but it removed a surprising amount of friction for me.

Love to hear others pain points around terminals!

keysarsoze 25 days ago

Love it! This terminal terminals like no other!

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection