v0.1.0 · first public preview →

Your agent writes the Flutter code. Now it can see the app.

Flutvio is a terminal-first workspace for macOS. Your AI agent runs in the terminal, the iOS Simulator runs beside it, and one small command lets the agent reload, look, and tap for itself.

Free v0.1.0 Apple Silicon 132 MB

Flutvio running Claude Code in the terminal, with the iOS Simulator and the Agent panel beside it

terminal · simulator · agent panel, one window

Bring the agent you already use

  • Claude Code·
  • OpenCode·
  • Codex·
  • Gemini CLI·
  • Aider·
  • Cursor Agent·
  • Amp·
  • Goose·
Why this exists
Haithem Nini

Haithem Nini

Maker of Flutvio

Hi, I’m Haithem.

I build Flutter apps with AI agents in the terminal. The agent was good at writing Dart, but it never saw what it wrote. Every change ended the same way: switch to the simulator, take a screenshot, paste it back, explain what looked wrong.

Flutvio started as a fix for that one loop. The terminal is the main window, the simulator sits right next to it, and a small command lets the agent look and tap for itself.

It’s free, open source, and still early. If something feels off, tell me on GitHub. I read every issue.

— Haithem

How it works

Edit, reload, look, fix. Without you in the middle.

  1. 01

    Run your agent

    Open a Flutter project and start whatever you already use: claude, codex, gemini, opencode. Flutvio doesn’t pick one for you.

  2. 02

    It changes the code

    Ask for a screen, a fix, a refactor. You can watch the files change live in the Changes panel.

  3. 03

    It checks its own work

    The agent takes a screenshot, reads what’s on screen, taps through the flow and reads the logs. Then it fixes what it sees.

  4. …and you get a notification when it’s done.

claude — my_app
› Add a login screen and make sure it looks right on the iPhone.
● Created lib/login_page.dart. Reloading.
$ flutvio reload
✓ hot reload · 312 ms
$ flutvio screenshot
/tmp/flutvio/screen-0142.png
● The button sits under the keyboard. Moving it into a scroll view.
$ flutvio tap 195 612
✓ tapped (195, 612)
$ flutvio logs -n 2
[log] POST /session 200
[log] → /home
● Login works and the layout fits. Done.
Inside Flutvio

A whole IDE, kept out of the way.

Files, an editor, git and diffs are all there. They just don’t open until you ask for them.

The terminal is the app

Real PTY, tabs that rename themselves after what runs in them, up to four splits, Mac editing keys that behave.

The simulator, in the window

Xcode’s own iOS Simulator mirrored at 60 fps. Touch it, type into it, rotate it. Closed means nothing runs.

Know how full the context is

For Claude Code: context usage, model, plan, limits and the real status of every MCP server. Read from local files only.

A ping when it’s your turn

An agent finished in another tab? You get a dot, a toast, a macOS notification and a Dock badge.

Diffs while it works

Watch every edit land as a diff. Stage, commit, branch, worktrees and GitHub pull requests through gh.

Flutter, one click away

pub get, analyze, test, doctor, builds and add package in a dedicated Flutter tab, plus the running app’s output.

The flutvio command

Seven commands your agent picks up fast.

It’s on the PATH of every Flutvio terminal and talks to the app over 127.0.0.1 with a token that changes every launch, so it only works from inside Flutvio. One click in Settings adds a short note about it to your AGENTS.md.

flutvio status
project, device, app state
flutvio screenshot
save what the simulator shows
flutvio elements
on-screen elements and tap points
flutvio tap <x> <y>
tap at a point
flutvio type <text>
type into the focused field
flutvio reload
hot reload
flutvio logs -n 50
recent Flutter output
Right-to-left

Arabic reads the right way round.

Mixed Arabic and English stays in order in the terminal, the console, sessions and the simulator. Most terminals scramble it. This one was built around it from day one.

$ claude

أضف شاشة تسجيل دخول إلى تطبيق Flutter، واجعل الزر أزرق.

● Added LoginPage with a blue button · reloaded

yes, really. try it.

What’s new

v0.1.0 · 2026-11-11

The first public preview. Here’s what’s in it.

Full release notes

Workspace

4 changes
  • Terminal-first layout: terminals fill the window; simulator, side panel and editor open on demand.
  • Terminal tabs, split panes (up to 4), tabs named after the running program, Mac editing keys, right-to-left (Arabic) rendering.
  • Side panel: Files · Changes (live diffs) · Git · Sessions · Agent.
  • Five themes, interface scale, searchable shortcut list, welcome guide.

Agents

4 changes
  • flutvio command in every terminal: status, screenshot, elements, tap, swipe, type, button, run, stop, reload, restart, logs.
  • Agent panel for Claude Code: context usage, model, plan, limit reached / reset time, MCP servers and connectors.
  • Notifications when an agent finishes or needs attention in the background (tab dot, bell, toast, macOS notification, Dock badge).
  • Browse and resume Claude Code, OpenCode, Codex and Gemini sessions.

Flutter

3 changes
  • Run / stop / hot reload / hot restart, hot reload on save, device picker, screenshots.
  • Embedded iOS Simulator (idb_companion: H.264 video, touch, keyboard, hardware buttons, rotation).
  • Flutter tab: pub get / upgrade / outdated / clean / analyze / test / doctor / builds / add package, and the app's output.

Code

2 changes
  • Monaco editor with the Dart language server (completion, diagnostics, hover, definition, format on save).
  • Git: stage, commit, push, pull, branches, history graph, worktrees; GitHub pull requests through gh.
Install

Three steps, about a minute.

Free v0.1.0 Apple Silicon 132 MB

  1. 01

    Download the DMG and open it.

  2. 02

    Drag Flutvio into Applications.

  3. 03

    Launch it. Signed with a Developer ID and notarized by Apple, so it opens without warnings.

  4. You’ll also need

    macOS, Apple Silicon
    Intel works from source, untested
    Flutter SDK
    on your PATH
    Xcode
    for the iOS Simulator
    idb-companion
    brew install facebook/fb/idb-companion
    An agent
    optional, any CLI one
Questions

The things people ask first.

Is it free?

Yes. MIT licensed, source on GitHub. No account, no sign-in.

Which agents work?

Any agent that runs in a terminal. Claude Code gets the most detailed Agent panel; the others show working and waiting.

Does anything leave my Mac?

No. The Agent panel reads your agent’s local files, and the flutvio command talks to the app over 127.0.0.1 with a token that changes every launch.

Is the app signed?

Yes. It is signed with a Developer ID and notarized by Apple, so macOS opens it without a warning.

Intel, Windows, Linux?

The download is for Apple Silicon. Intel builds from source but isn’t tested. Other platforms aren’t on the table yet.

Android or a real iPhone?

Flutter can run on them from Flutvio, but only the iOS Simulator is embedded and tested in this release.

Give your agent a pair of eyes.

Download Flutvio, open your Flutter project, and start the agent you already use.

Version 0.1.0 · Apple Silicon · 132 MB