Lately, the term "Vibe Coding" has gained significant traction in the development community. First popularized by Andrej Karpathy, the concept refers to a flow state where coding feels effortless and enjoyable, often facilitated by AI assistance1. Editors like Cursor, Cline, and Windsurf have emerged as pioneers in this space, offering seamless AI integration that transforms the coding experience.
But what about those of us who have fallen in love with Zed? How can we achieve that same Vibe Coding experience without abandoning our editor of choice?
Why Zed?
For the uninitiated, Zed is a high-performance code editor built by the creators of Atom and Tree-sitter. It stands out with its blazing speed (thanks to being written in Rust), collaborative features, and minimalist yet sophisticated UI2. Once you experience its responsiveness and thoughtful design, it's difficult to switch to anything else.
Since I first drafted this article, Zed has introduced a major upgrade3: native agentic editing. While the UI doesn't break new ground—it clearly draws inspiration from Cursor and Cline's established patterns—it integrates seamlessly with Zed's distinctive look and feel. I've been using it to draft portions of this very blog post, and despite the familiar interface, the overall experience feels noticeably more fluid than my time with Cursor. The way it maintains Zed's responsiveness and minimalist aesthetic makes even routine editing tasks more enjoyable.
That said, when it comes to exploring a codebase and implementing new features that may require cross-file changes, I still find the current degree of autonomy somewhat limited. Where Claude Code still stands out is its ability to work directly in the terminal, seamlessly leveraging any CLI or SDK available in your environment, without any special project-side prep. For tasks that go beyond pure code refactoring—like automating workflows, scraping logs, or integrating third-party tools—Claude Code remains uniquely versatile.
Enter Claude Code
This is where Claude Code transforms the equation. Developed by Anthropic, Claude Code is a terminal-based interface to Claude's AI capabilities, allowing you to leverage powerful AI assistance directly from your command line4. When paired with Zed's integrated terminal, it creates a surprisingly effective Vibe Coding environment.
What Makes Claude Code Special?
Claude Code isn't just another AI assistant—it's specifically designed to understand and execute terminal commands based on natural language instructions. This makes it particularly valuable for developers who spend significant time in the terminal.
For example, when I need to review pull requests, I simply open Zed's terminal and type claude
. Once Claude Code starts, I can type "show the list of pull requests that request review from me" and press Enter. Claude Code interprets my intent and uses the GitHub CLI (gh
) to execute the appropriate command.
$ claude
> show the list of pull requests that request review from me
I'll help you list pull requests that need your review using the GitHub CLI.
Running: gh pr list --reviewer @me
NUMBER TITLE BRANCH AUTHOR CREATED
548 Add user authentication flow feature/auth janesmith 2 days ago
523 Fix pagination bug in API responses bugfix/pagination alexjones 5 days ago
501 Update documentation for v2.0 docs/v2-updates chrislee 1 week ago
Is it perfect? No. Claude Code sometimes attempts to use non-existent options or makes incorrect assumptions. But through trial and error, it usually achieves the goal—and when it can't, it honestly admits failure. This creates a surprisingly pleasant workflow that feels collaborative rather than frustrating.
Beyond Basic Commands
The real power becomes apparent when you start using Claude Code for more complex tasks. For instance, after listing pull requests, I can ask for details on a specific one:
> show 548
I'll show you details for PR #548.
Running: gh pr view 548
Title: Add user authentication flow
Author: janesmith
State: OPEN
Created: 2 days ago
Reviewers: @me, @techleader
Labels: enhancement, security
This PR implements the user authentication flow using JWT tokens as discussed in the planning meeting. Key changes:
- Adds authentication middleware
- Implements login/logout endpoints
- Adds token validation and refresh logic
- Updates user model with password hashing
Let me also show you the code changes:
Running: gh pr diff 548
[Displays code diff]
Based on my analysis, this PR introduces a comprehensive authentication system. The implementation follows security best practices with proper password hashing and JWT handling. The middleware integration looks clean, though I notice the token expiration might be set too long (7 days) for a security-sensitive feature.
While I rarely use Claude Code's analysis verbatim, it helps me grasp the overview much faster than if I were to review everything manually on GitHub. Subjectively, it feels like my review speed has nearly doubled.
Real-World Example: GitHub Actions Integration
Let me share another practical example that demonstrates Claude Code's value.
This blog manages its Markdown content in a GitHub repository. When a pull request is created, GitHub Actions automatically builds a preview environment on Vercel. However, finding the preview URL was always cumbersome, requiring me to dig through GitHub Actions logs or access the Vercel dashboard.
I asked Claude Code:
this project has used github action to deploy website to vercel. code at .github/workflows/vercel-deploy.yml. this workflow works properly however it's a little bit difficult to check the preview url in vercel. Can we comment deploy url to pull request from github action?
Claude Code then helped me update my GitHub Actions workflow to automatically post the deployment URL as a comment on the pull request. Here's the key part of the solution it provided:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
# ... existing deployment steps ...
- name: Comment on PR with preview URL
if: github.event_name == 'pull_request'
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const previewUrl = `https://${process.env.VERCEL_URL}`;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `🚀 Preview deployed to: [${previewUrl}](${previewUrl})`
});
env:
VERCEL_URL: ${{ steps.vercel-deployment.outputs.url }}
This seemingly simple enhancement could have easily taken hours to implement, especially if I encountered unexpected issues. Tasks like these often get postponed indefinitely, gradually eroding team productivity. Claude Code solved it in minutes.
Why Zed + Claude Code Is the Ultimate Combination
While popular tools like GitHub Copilot and Tabnine offer impressive AI coding assistance5, the Zed + Claude Code combination offers unique advantages:
-
Integrated Experience: Since Zed is already my primary editor, having AI assistance within the same environment eliminates context switching.
-
Familiar Terminal Interface: For developers comfortable with the command line, Claude Code's terminal UI feels natural and unobtrusive, unlike the more intrusive UI elements of other assistants.
-
Flexibility: Unlike more specialized AI coding tools that focus primarily on code completion (like Tabnine) or generating functions from comments (like GitHub Copilot), Claude Code can assist with a wide range of development tasks beyond just writing code.
-
Performance: Zed's speed means you're not sacrificing editor performance for AI capabilities. Being written in Rust, Zed maintains its blazing performance even with terminal-based AI assistance running alongside it.
Try It Yourself
The combination of Zed and Claude Code has fundamentally changed how I approach development tasks. It's not just about writing code faster—it's about reducing cognitive load and making the entire development process more enjoyable.
If you're a Zed user looking to experience Vibe Coding without switching editors, I highly recommend giving Claude Code a try. The setup is straightforward, and the benefits become apparent almost immediately.
Have you tried this combination or similar AI-assisted coding setups? I'd love to hear about your experiences in the comments!
Agentic Coding, In and Beyond Zed
Zed's new agentic editing makes rapid, in-editor AI development delightfully seamless, and I highly recommend it for modern code refactoring and tight feedback loops. Still, for more open-ended tasks—like orchestrating CLI tools, managing infrastructure, or integrating APIs programmatically—terminal AI agents like Claude Code offer a level of flexibility and hands-on control that remains unmatched.
I'm excited to see how Zed's agentic capabilities evolve (especially with future MCP enhancements), but for now, the synergy of both approaches is a real force multiplier for developers.
Looking Forward: AI Agent Workflow Integration
Claude Code is also designed to run in CI and non-interactive environments, making it perfect for integration with other AI tools and platforms.
Claude Code comes with a non-interactive mode for headless execution. This is especially useful for running Claude Code in non-interactive contexts like scripts, pipelines, and Github Actions.
Use
-p
) to run Claude in non-interactive mode. In this mode, you can set theANTHROPIC_API_KEY
environment variable to provide a custom API key.Non-interactive mode is especially useful when you pre-configure the set of commands Claude is allowed to use:
At Giselles.ai6, we're exploring how to integrate Claude Code into our node-based AI agent builder platform. Giselles.ai enables teams to create and deploy custom AI workflows through an intuitive visual interface, and Claude Code's ability to automate development tasks would be a perfect addition to our multi-agent orchestration capabilities. By potentially adding a Claude Code node to our platform, users could incorporate Claude's powerful coding and terminal capabilities directly into their AI agent workflows.