AgentsInFlow
AgentsInFlow
v0.24.0

One Workspace for
All Your AI Agents

AgentsInFlow: Run Claude Code, Codex, Cursor, and OpenCode in one desktop app with git control, browser access, diagrams, and persistent memory

Run Claude Code, Codex, Cursor, and OpenCode from one window. Git version control, browser access, 28 diagram types, persistent AI memory, and isolated branching. Close everything else.

AgentsInFlow Kanban Board - Manage AI tasks across projects

// every feature solves a real problem

Built from Real Workflow Friction

Nothing was added speculatively. Each capability exists because something was broken in daily AI-assisted development. Here is what we solved, and how.

1

// the first problem

Too Many Apps Open

Working across multiple projects, personal and professional, meant Cursor in three windows, a dozen terminals, SourceTree for git, and constant context switching between all of them. The goal was simple: consolidate everything into one workspace with just what you need. No plugins, no noise.

Multiple projects, one window

What was built:

  • Multi-project workspace where each project gets its own scope, tabs, and state
  • Kanban board to see all tasks at a glance across statuses
  • Cross-project active agents panel so you never lose track of running work
2

// code became a black box

Let the AI Show You

With the latest models, you no longer review code line by line. You review by asking targeted questions. But when something gets too complex to understand through text alone, you need the AI to communicate visually. That is why diagrams were added: to give the AI a way to show you what it built, not just tell you.

28 diagram types + freehand sketching

What was built:

  • 28 diagram types: Mermaid, PlantUML, Graphviz, D2, DBML, BPMN, C4, ERD, and more
  • Freehand sketching canvas for quick visual notes
  • Diagrams render inline in both ticket descriptions and assistant chat
Flowcharts and sequence diagrams rendered inline in AgentsInFlow
3

// ideas move faster than typing

Capture at the Speed of Thought

If your mind generates ideas faster than your hands can type, you need tools that keep up. A new task should be one shortcut away. When even a shortcut is too slow, just speak. But a raw transcript is too shallow for an agent to execute. So the assistant takes over: it turns your rough idea into a proper ticket with a detailed description, creates it, and you can forward it to an agent immediately.

Voice, shortcuts, and AI assistant

Capture fast:

  • Cmd+G for instant ticket capture without breaking flow
  • Voice-to-text transcription built in (OpenAI Whisper), no separate app needed
  • Fast Prompts: reusable prompt actions you configure once (Commit, Merge, Mark as Done) with template variables like #{branch} and #{ticketId}, pinned to an action bar for one-click execution

Then let the assistant handle the rest:

  • Talk to the assistant and it builds a proper ticket with a detailed description for you
  • The assistant can manage your tickets: rename, reorganize, move status, close, and brief you on progress
  • Full MCP access to your application: the assistant acts on your behalf across all your projects
  • Multiple assistant chats if you prefer to work with chat as your primary interface
Fast Prompt actions and project memory settings in AgentsInFlow
4

// multiple agents, one branch = disaster

Let Agents Run Free

When you have multiple agents working at the same time, they cannot all be on the same branch. They will overwrite each other. So a proper branching system was needed: isolated worktrees where each agent gets its own branch, with memory propagation and manual merge-back when you are ready.

Isolated worktrees per agent

What was built:

  • Isolated git worktree per execution, agents cannot interfere with each other
  • Automatic branch naming from ticket type and title
  • Merge-back stays manual and under your control
Git graph with worktree branches and inline diffs in AgentsInFlow
5

// the agent runs, you are somewhere else

Reach From Anywhere

Agents do not wait for you to be at your desk. One finishes while you are in a meeting. Another needs a quick nudge while you are on your phone. Sometimes you walk into a client's office and want to kick off work from a laptop you cannot install anything on. So remote access was added: open the same workspace from any browser, on any device, through a tokenized gateway you control.

Any browser, any device

What was built:

  • Tokenized browser UI, open the same workspace from any browser you trust
  • --remote launch mode so the gateway runs only when you need it, no daemon sitting on your machine waiting for the internet
  • Remote Access settings page for token management, you decide who reaches in and when
  • In-app directory browser so browser-hosted sessions can navigate your projects just like the desktop app

The machine stays yours. Tokens expire. Nothing phones home to a vendor cloud.

6

// agents forget everything between sessions

Never Forget

Every time you start a new session, the agent starts from zero. All the context from yesterday, the decisions, the constraints, the architecture, gone. So persistent memory was added: per-project and per-assistant, stored locally in .aif/ and carried across every session.

Persistent, local, private

What was built:

  • Database-backed project memory that agents auto-capture, index, and recall across sessions
  • Per-project reindex with live progress, plus optional semantic search when an embedding provider is configured
  • All stored locally on disk, toggle or clear from Settings at any time
Project memory and keyboard shortcuts settings in AgentsInFlow
7

// switching apps for each engine is friction

All Engines, One Ticket

Claude Code, Codex, Cursor, and OpenCode each have their strengths. You want to use all of them without switching applications. One ticket can now have multiple executions on different engines. Run the same task on Claude, Codex, Cursor, or OpenCode, compare the approaches, keep the best one.

Underneath the engine choice there is a harder problem. Three of those four engines phone home to a single vendor. If that vendor changes pricing, removes a model, or throttles your account, every workflow that depended on it is stuck. OpenCode is built for the operator who refuses to let that happen. It speaks to over 75 providers, it points directly at local Ollama models running on your own machine, and the key you bring is yours to rotate or replace. Model independence is not a perk tacked on at the end. It is the whole reason OpenCode is in the list.

Claude Code, Codex, Cursor, OpenCode

What was built:

  • Multiple executions per ticket, each on a different CLI engine
  • Runtime MCP injection so each engine gets the tools it needs automatically
  • OpenCode as a first-class engine, 75+ providers supported, local Ollama models included
  • Built-in provider setup and custom model selection from inside the app, no terminal config gymnastics
  • Bring your own key, rotate at will, swap providers without leaving the ticket

Your execution layer stays independent. Your keys stay yours. Your models can live on your own machine.

AI engine configuration in AgentsInFlow
8

// complex projects need structure

Orchestrate the Work

A flat list of tasks does not scale. Complex projects need hierarchy, dependencies, and visibility into what blocks what. Task hierarchy replaced flat subtasks. Dependencies enforce execution order. Sub-ticket executions are grouped under their parent. And this is just the first layer.

Hierarchy, dependencies, control

What was built:

  • Parent/child ticket hierarchy with nested children visible on the kanban board
  • Parent executions launch children, subscribe to their progress, and receive completion notifications through a listener and mailbox model
  • MCP-based orchestration layer on top of each engine's native capabilities
Task hierarchy with children tabs and flowcharts in AgentsInFlow
9

// nobody had cron for agents

Run On a Schedule

"I wanted to schedule an AI agent like a cron job and nobody had that." That is the gap. You write a ticket once. You want it to run every morning at 6 for the backlog pass. Or every Monday for the competitor scan. Or once, next Thursday, because that is when the campaign launches. No workspace treated tickets as jobs you could hand to a scheduler. So schedules were wired directly into the ticket inspector.

Every morning, every Monday, once

What was built:

  • Recurring schedules via cron expressions, the same syntax you already know
  • One-time triggers with a date and time picker, for launch days, demos, or a single run on a future date
  • Managed from the ticket inspector, alongside the description, status, and execution history
  • Scheduled runs inherit the ticket's engine config, authority scope, and hierarchy, so the attempt looks identical to one you launched by hand

No new scheduling system to learn. The ticket you already wrote is the job.

// more of what it looks like

See It in Action

Freehand sketching with AI analysis in AgentsInFlow

Sketch on the canvas, then ask the AI to describe what it sees

Assistant chat with C4 System Context diagram in AgentsInFlow

Assistant generating C4 System Context and Container diagrams

C4 Container diagram with full architecture breakdown in AgentsInFlow

C4 Container diagram showing the full system architecture breakdown

// where we are now

That Is How We Got Here

One window. Git version control, file explorer, terminal, rich editor, kanban board, 28 diagram types, voice input, persistent memory, four AI engines, and full orchestration. Close everything else.

4

AI Engines

28

Diagram Types

1

Window Needed

0

Other Apps

Ready to Build with AI Agents?

Free during beta. We'd love your feedback and feature requests.