Your coding agent finally has eyes.

Claude Code writes, runs and checks its own work in a live simulator and browser. You just review. Free and open source.

Download for Mac
habits
vibex-mcp:5150
1 2 2
Source Control
Message (⌘↩ to commit)
Commit All
Changes2
HabitsView.swiftM
StreakBadge.swiftU
Agents +
streak-spring+42 −3
vibex/streak-spring
ReviewMerge
streak-confetti+96 −4
Waiting for you
ReviewMerge
claudeclaude 2zsh
~/habits ❯ claude
> add a streak counter to the habits screen
● Edit HabitsView.swift +18 −2
● vibex_run iOS · Habits
Built in 6.2s · launched on iPhone 17 Pro
● simulator_tap_element "Read 10 pages"
● simulator_screenshot
The streak shows 4 days after the tap.
>
> what did you change?
● Bash git diff --stat
HabitsView.swift | 20 ++++++++++++++++--
StreakBadge.swift | 31 ++++++++++++++++++++
A new StreakBadge view, and HabitsView counts
consecutive days from completions.
>
> check it on every screen size
● vibex_run Run on All · 3 devices
● simulator_screenshot_all
iPhone 16e · iPhone 17 Pro Max · iPad Air
The badge fits on all three. On iPad the list
gets a second column.
>
streak-spring ❯ claude
> make the streak badge feel alive
● Edit StreakBadge.swift +24
● vibex_run iOS · Habits
● simulator_snapshot "After spring"
Before and after are in the Compare tab.
>
> how much of my session is left?
● vibex_focus AI Usage
Session $42.10 of your $50 limit · resets in 1h 3m
You're at 84%. Vibex pings you again at 100%.
claude 2 is waiting for your approval.
>
iPhone 17 Pro iOS 26.6 · slim

Today

Thursday, October 23
🔥 4-day streak
Morning walk7:10
Drink water3 / 8
Read 10 pagesnow
Stretch9 pm
No phone after 11
HabitsView.swiftModified+18 −2Stage
struct HabitsView: View {
12 @State private var habits: [Habit] = []
13 var title = "Today"
13 var streak: Int { habits.currentStreak() }
14
15 var body: some View {
16 List {
17 if streak > 0 {
18 StreakBadge(days: streak)
19 .transition(.scale(scale: 0.9))
20 }
21 ForEach(habits) { HabitRow(habit: $0) }
22 }
23 .navigationTitle(title)
23 .navigationTitle("Today")
24 .animation(.spring(duration: 0.4), value: streak)
25 }
26// MARK: - Streaks
Devices+ Add DeviceRun on All
iPhone 16e
Today🔥 4-day streak
iPhone 17 Pro Max
Today🔥 4-day streak
iPad Air 13-inch
Today🔥 4-day streak
Before16:02After16:05SliderSide by Side
Today🔥 5-day streak +1
Today🔥 4-day streak
BeforeAfter
Claude Max 20×
Session · 84% of $50$42.10
Codex Plus
7d · 4d 2h31%
Spending 30 days
$2,017 API value
3.5B tokens · 98% from cache
Now
habits8:54
Opus 5.5 · 41K written · $2.36
Trend 30 days · $2,017
Models
Projects

Works with the stack you already have, and anything that runs in a terminal or speaks MCP.

Meet Vibex, a window built for your coding agent. Agents used to work blind and wait for you to run, look and explain. Here Claude runs it, sees it and fixes it. You just review.

How it worksInstall Vibex

From install to your first agent loop in a minute

Three steps, and Claude can see, run and test your app.

❯ curl -fsSL vibex.cc/install.sh | sh
Downloading Vibex…
✓ Installed to /Applications
✓ Linked the vibex command
01

Install with one line

It verifies the release, installs Vibex and links the vibex command. Updates arrive on their own.

Full Disk AccessReady
Xcode & iOS runtimeReady
Claude CodeInstall
02

Grant once

Setup lists every permission and tool with its live status, and one button to fix each.

~/habits ❯ vibex .
~/habits ❯ claude
> run the app and check onboarding
● vibex_run · ● simulator_describe
03

Open a folder and ask

Each project gets its own window. Claude Code finds Vibex's tools on its own and drives that window.

The old way vs. the Vibex way

The old way: you are the agent's eyes.

It writes blind. You run, look, screenshot and explain.

Simulator covering your terminalwhile Claude waits for you to look
Guessing what the agent changeduntil git diff scrolls past
Copying console errors by handfrom Safari into the chat
Hitting usage limits by surprisehalfway through a big refactor

The Vibex way: it sees for itself.

It runs, sees and fixes its own work. You review.

What should we build today?
Runs your appTaps the simulator Shows every diffTracks usage Installs skillsReads the console
$0Forever. No plans, no trial.
50+MCP tools that let Claude see and act
MITFork it, ship it, change it
Simulator

The iPhone, inside your windowLive

Booting iPhone 17 Pro slim. 11 of 38 daemons off.
simulator_boot2.1s
simulator_install_app0.8s
simulator_launch_app0.4s
simulator_describe0.2s
button "Continue"ref r3 · 180,503
Accessibility tree

Claude taps by label, not by guessing pixels

iPhone 17 ProBooted
iPad AirShut down
Slim bootssimslim
Embedded

No Simulator.app window to lose

Source Control

Every change, before you commit+18 −2

15var body: some View {
16 Text("Today")
16 StreakBadge(days: streak)
17 .transition(.scale(scale: 0.9))
18}
Diffs

Syntax-highlighted diffs, side by side

Committed a1b2c3dPush
Discarded “Notes.md”Undo
Forgiving

Commit, push, and undo a discard

AI Usage

Know what your agents costLocal only

Claude Max 20×
Session · resets in 1h 3m$36.43
Spending 30 days
$2,017 API value10×
Limits

Session and plan limits at a glance

Trend Oct 8 · $25.97
Trend

Every day, model and project

$3,133 13 weeks

Read straight from Claude Code's and Codex's own logs on your Mac. Nothing leaves your machine. Open it from the menu bar too.

Skills

A skills marketplace, built inskills.sh

write-swift
emilkowalski/skills · 112K installs
Install
swiftui-pro
twostraws/swiftui-agent-skill · 34K
Global
find-skills
vercel-labs/skills · 4M installs
Installed
Browse

Search thousands of skills and install in one click

GLOBAL
ux-laws~/.claude/skills
THIS PROJECT
apple-design.claude/skills
Scopes

Global and per-project, side by side

Browser & Run

Your preview, next to your codevibex_run

[vite] ready on localhost:5173
✓ GET /api/habits 200 · 18 ms
browser_console → 0 errors
Console & network

Claude reads the console so you don't paste it

iOSbuild, install, launch
Webdev server + preview tab
Swift, Cargo, Gojust run
vibex_run

Claude runs any project for you

New in 2.0

From one agent to a team2.0

habits · terminal 2Bash: npm test
api · terminal 1Claude has a question
site · terminal 1working
Approval inbox

See which Claude is waiting for you

Every session that needs a yes shows on its tab, in the menu bar and as a notification. One click jumps to it.

$42of $50 this session84%
Budget alerts

A limit per session, a nudge at 80%

Pick a limit or let Vibex learn it from your past sessions. You get a notification before you blow through it.

vibex/onboarding+182 −20
vibex/onboarding-2+96 −4
Parallel agents

Two attempts, two branches

Each agent gets its own git worktree. Review the diff, merge the winner, throw the rest away.

BeforeAfter
Before & after

Drag to see what changed

Every run saves a screenshot. Compare any two, then copy them side by side into your PR.

Devices

Every screen size at once

A small phone, a big phone and an iPad, live and touchable. Run on All installs the app everywhere.

MCP servers

Give Claude new tools in one click

See the MCP servers Claude Code uses, then browse featured ones or search the official MCP registry. Vibex asks for any API key and installs it for every project or just this one.

PlaywrightGitHubFigmaSupabase LinearSentryNotionChrome DevTools

Free. Open source. Yours.

Vibex is MIT licensed and built in the open. No account, no subscription, no tracking. Read every line, fork it, make it yours.

MIT licensed

Use it at work, change it, ship your own build. No strings.

Nothing phones home

Usage stats are read from logs on your Mac. Updates come straight from GitHub releases.

Built with Claude Code

Native Swift 6 and AppKit. Issues and pull requests welcome.

Questions

Is Vibex really free?
Yes. It's open source under the MIT license, with no paid tier, no trial and no account. You only pay for the AI tools you already use, like Claude Code.
What do I need?
A Mac on macOS 26 (Apple silicon or Intel), Xcode 26 with an iOS simulator runtime for the simulator pane, and Claude Code. Setup checks each one and installs what it can.
Does it work with Codex or other agents?
Yes. The terminal runs any agent CLI, like Codex, Gemini CLI or Aider. Vibex's tools are a standard MCP server on your Mac, so any MCP client can use them, and AI Usage reads Codex's limits too. Claude Code is set up for you.
What kinds of projects can it run?
iOS and macOS apps from Xcode or XcodeGen, web apps with a dev server (npm, pnpm, yarn or bun, so Vite, Next.js, React and the rest), and Swift, Rust and Go command-line projects. Anything else runs in the terminal like it always has.
Is my code or usage sent anywhere?
No. Usage numbers come from Claude Code's and Codex's local logs. Vibex only talks to GitHub to check for updates and to skills.sh when you browse skills.
Why does macOS warn me when I first open it?
Vibex isn't notarized yet. The install script handles it; with the DMG, open System Settings → Privacy & Security and click Open Anyway.
How do updates work?
Vibex checks GitHub releases in the background and installs the new version when you quit, or right away with Restart to Update.

Give your agent eyes.

Paste this into Terminal. About a minute, free, no account.

❯ curl -fsSL https://vibex.cc/install.sh | sh